Wie viele Nullen hat das Ergebnis?

8 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Hallo,

wie gfntom schrieb, sind es 12.

Wieso?

Für jede durch 10 teilbare Zahl unter den Faktoren (10, 20, 30, 40 und 50) bekommst Du schon mal eine Null, macht 5.

Für jedes Zahlenpaar mit 2 und 5 am Ende gibt es weitere Nullen, denn 2*5=10.

Das sind 2-5, 12-15, 22-25, 32-35 und 42-45, also noch einmal fünf Nullen, macht zusammen 10.

Eine weitere Null ergibt sich daraus, daß 20*50=1000 nicht nur zwei, sondern gleich drei Nullen hat, ebenso 25*40=1000 (die 25 sorgt zusammen mit der 22 für eine Null, 40 bringt eine weitere mit, aber bei 25*40 entsteht eine dritte Null, die bisher nicht mitgezählt wurde.

So kommen wir auf 12 Nullen, 10 reguläre, zwei zusätzliche.

Herzliche Grüße,

Willy


Joochen  20.02.2018, 12:05

Wären das nicht nur Nullen am Ende des Produktes? Könnte es nicht m Inneren von 51! weitere Nullen geben? Die Frage würde auf diese betreffen.

0
Willy1729  20.02.2018, 12:08
@Joochen

Um das herauszufinden, mußt Du die Zahl entweder ausmultiplizieren oder einen Rechner bemühen, der mit so vielen Stellen umgehen kann.

Mit der von mir beschriebenen Methoden bekommst Du nur die Nullen am Ende.

0
Zeyzeyno 
Fragesteller
 20.02.2018, 18:59

Vielen Dank für die ausführliche und nachvollziehbare Antwort!

1
Willy1729  20.02.2018, 19:00

Vielen Dank für den Stern.

Willy

0
Schnurzl42  30.04.2018, 20:49

An sich muss man nur die Häufigkeit des Primfaktors 5 zählen, denn Primfaktoren 2 gibt es mindestens genauso viele im Produkt. Naja, und der Primfaktor 5 ist gerade 12 mal im Produkt enthalten.

1

Diese Programm habe ich zum ausrechnen geschrieben:

using System;
using System.Numerics;

namespace StringExtensions
{
    class Program
    {

        static BigInteger Fak(int n)
        {
            return (n <= 1)?1:n * Fak(n - 1);
        }

        static void Main(string[] args)
        {
            Console.WriteLine(Fak(51));
            Console.ReadKey();
        }
    }
}

Ausgabe:

1551118753287382280224243016469303211063259720016986112000000000000

Woher ich das weiß:Berufserfahrung – Studium der Informatik + Softwareentwickler seit 25 Jahren.

Mit Haskell:

$ ghci

Prelude> product [1..51] :: Integer

1551118753287382280224243016469303211063259720016986112000000000000

Prelude> length (filter ('0'==) (show (product [1..51] :: Integer)))

18

51! = 1551118753287382280224243016469303211063259720016986112000000000000

Zählen kannste selber.

Das sollten wohl 12 sein...

... wenn es um die Nullen am Ende geht