Overleg:Faculteitconform getal

Pagina-inhoud wordt niet ondersteund in andere talen.
Uit Wikipedia, de vrije encyclopedie

Naamgeving[brontekst bewerken]

De "factorion" 40585 verscheen op Twitter (Fermats Library) op 17 aug. j.l. Ik kende het begrip niet, maar vond op de Engelse Wikipedia uitleg: Factorion.

Ik vind "factorion" als naam voor een getal dat (min of meer) "bepaald" wordt door faculteiten niet geschikt (het is geen dingetje met een factor). Betere omschrijving (?): het is een getal dat "gelijk", "in overeenstemming" is aan/met (de som van) faculteiten. Dat is (dus) een "faculteitconform" getal.

In het boek "Over getallen gesproken" van prof. Looijen (het staat al een tijdje in mijn boekenkast) komt het woord "factorion" niet voor. Maar wat schetst mijn verbazing. Na wat zoeken (de items zijn alfabetisch geordend) vond ik "Gelderman getallen". Er is dus een Nederlandse naam! En het staat op een een Nederlandse website: Getaleigenschappen.

Toch koos ik voor "faculteitconform getal", want dát zegt toch iets meer (over zo'n getal).

Computerprogramma[brontekst bewerken]

Hieronder staat een computerprogramma in de taal C# waarmee de getallen N tussen 10 en 1.999.999 kunnen worden onderzocht op al of niet faculteitconform zijn. Is de waarde van de variabele Fsom na controle van een getal ongelijk aan N, dan is dat getal niet-faculteitconform en wordt niets afgedrukt; is de waarde van Fsom gelijk aan N, dan wordt het getal N afgedrukt.

using System;
public class Program
{
private int faculteit(int x) {
   if (x == 0) {
      return 1;
   }
   int y = x;
   for (int i = 1; i < x; i++) {
      y *= i;
   }
   return y;
}	
public void Main() {
   for (int N = 10; N < 1999999; N++) {
      int Fsom = 0;
      int getal = N;
      while (getal > 0) {
         int cijfer = getal % 10;
         getal /= 10;
         Fsom += faculteit(cijfer);
      }
      if (Fsom == N) {
         Console.WriteLine(N);
}  }  }
}

Na beëindiging van het programma zijn (inderdaad) de getallen 145 en 40585 afgedrukt. Een on-line-gebruikersomgeving voor het programma is (bijvoorbeeld) .NET Fiddle (nb. in het menu moet de Language ingesteld worden op: C#).

Bij een bovengrens van 1.999.999 was de verwerkingstijd van het programma binnen deze omgeving op een eenvoudige desktop computer 391 ms. Bij een bovengrens van 2.540.160 was dat 501 ms.