Moin,
kam gestern mal auf die Idee, Nachkommastellen von sqrt(2) zu berechnen.
Hab also das Töplerverfahren auf 2 angepasst und in C# realisiert. 10.000 Nachkommastellen berechnet
das Programm in ca. 240 Millisekunden. Für eine Million hat es bei mir etwa 53 Minuten gebraucht.
Vielleicht interessiert es ja jemanden
Der Source ist auf 2 angepasst und funktioniert nicht mit allen anderen Zahlen, weil der Töpleralgorithmus 2er-Packs vorraussetzt und ich diese Bedingung nicht eingebaut habe, da sie für 2 nicht nötig ist.
Im Beispiel ist diese Zeile
System.Numerics importieren und Verweis setzen. Viel Spaß
Grüße
kam gestern mal auf die Idee, Nachkommastellen von sqrt(2) zu berechnen.
Hab also das Töplerverfahren auf 2 angepasst und in C# realisiert. 10.000 Nachkommastellen berechnet
das Programm in ca. 240 Millisekunden. Für eine Million hat es bei mir etwa 53 Minuten gebraucht.
Vielleicht interessiert es ja jemanden
Der Source ist auf 2 angepasst und funktioniert nicht mit allen anderen Zahlen, weil der Töpleralgorithmus 2er-Packs vorraussetzt und ich diese Bedingung nicht eingebaut habe, da sie für 2 nicht nötig ist.
C#-Quellcode
- class Program
- {
- static void Main(string[] args)
- {
- Stopwatch x = new Stopwatch();
- x.Start();
- BigInteger number = 2;
- BigInteger fractional = 1;
- BigInteger result = 0;
- BigInteger counter = 0;
- while (counter <= 10000)
- {
- BigInteger oddNumber = fractional;
- BigInteger countFractionalDeduction = 0;
- while (number - oddNumber > 0)
- {
- number -= oddNumber;
- countFractionalDeduction++;
- oddNumber += 2;
- }
- number = number * 100;
- result = result * (10 ^ countFractionalDeduction.ToString().Length - 1) + countFractionalDeduction;
- fractional = (result << 1) * 10 + 1;
- counter++;
- }
- x.Stop();
- Console.WriteLine(result.ToString().Insert(1, ","));
- Console.WriteLine();
- Console.WriteLine("Time: " + x.Elapsed);
- Console.ReadLine();
- }
- }
Im Beispiel ist diese Zeile
while (counter <= 10000)
für die Iterationen verantwortlich, 10000 sind die Nachkommastellen, die berechnet werden.System.Numerics importieren und Verweis setzen. Viel Spaß
Grüße
"Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero
Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Nikx“ ()