Rechner programmieren

kingdodo

Lt. Junior Grade
Registriert
Feb. 2006
Beiträge
474
Hallo zusammen, kann einer von euch für mich einen Rechner für mich Programmieren, oder mir eine Seite schicken, wo ich es mithilfe eines Toturials machen kann??? Also es geht eigentlich nur darum, dass das Programm mir das Ergebnis von 9hoch9hoch9(bzw. 9hoch387420489) errechnen kann... Kling komisch ist aber so ist halt für die Schule... ich dachte da am besten an MS Dos, da ich da vllt ein bisschen weiter weiß...

naja wäre nett, wenn mir jemand von euch weiterhelfen könnte, weil beim googlen habe ich keine passenden treffer gefunden...

danke schonmal

mfg. Kingdodo
 
Gar kein Problem, Google hilft!

Taschenrechner

Nein, Spaß bei Seite. Google mal nach Batch in Zusammenhang mit DOS. Da solltest du fündig werden. Ich verstehe aber nicht, wieso du sowas für die Schule brauchst. Ihr habt doch bestimmt eine Sprache vorgegeben!?
 
Also es ist jetzt nicht Hausaufgabe oder so ich habe meinem Lehrer nur gesagt, dass ich ihm das versuch auszurechnen...:D
 
Naja mit Delphie sollte das kein Ding sein.
 
lol..
Also sämtliche Sprachen die ich beherrsche, sind zu schlecht dafür :D
PHP und andere Websprachen sowieso, aber selbst mit good old pascal wollts net hinhauen. Tja, selbst longint ist einfach zu kurz für den Mist^^
Aber da Delphi sehr ähnlich zu Pascal ist, poste ich mal mein Programm, damit n Delphi Programmierer das mal schnell modifizieren kann...

Code:
program kingdodo;

uses crt;

var
  i, k: longint;
  x, y: real;

begin

  clrscr;
  x := 9;
  y := 9;
  for i := 1 to 8 do
    x := x*9;
  for k := 1 to x-1 do { hier ist glaub ich das problem, ne schleifenvar muss ja int sein, aber selbst longint geht bei weitem net so hoch wie es hier muss }
    y := y*9;
  writeln(y: 80:0); { Vielleicht reichen 80 stellen noch net mal... aber mehr als 80 dinger gibt dos net her }
  readln;

end.

Ach ja, ich garantiere nicht für fehlerfreiheit, habs eben nur ma hingeschmiert^^
 
Das kann dir doch der ganz normale Windows Rechner kalkulieren. :freak: ;)

1,9662705047555291361807590852691e+77
 
Kommt auf die Genauigkeit an, die du willst. Mit C++ & GMP geht das z.B.
 
Also ich wollte die Zahl ganz genau haben, so dass sie bis zur letzten Zahl ausgerechnet wird...
Mir ist grade eben der Gedanka an superPI gekommen, weiß jemand womit SuperPI programmiert ist, weil damit müsste es doch auch gehen oder???

mfg. kingdodo
 
Mit unsigned integer kann man übrigens doppelt so große Zahlen in Variablen schreiben.

SuperPI etc. arbeiten meist mit Arrays, da solch große wirklich nicht in normale Variablen gespeichert werden können.
 
9hoch9hoch9 hat aber auch ungefähr 350 mio stellen... Also meintst du ich könnte es nur mit arrays ausrechnen???
kennst du vllt eine gute page, wo man das ganz einfach lernen kann?
 
350 Mio Stellen bekommst du in keine normale Variable, ausser Strings, und das sind auch nur Arrays.
 
kann mir vllt einer mal ne rechnung in der entsprechenden programmiersprache schreiben, weil ich hab da nicht so viel ahnung von... vllt eine ganz einfache, so dass ich mich da en bissel eindenken kann...

wäre echt nett von euch

mfg. kingdodo
 
Hi,

ich fand das eine lustige Aufgabe, deshalb hab ichs mal versucht ;).

Als Sprache hab ich C# genommen.

"Neun^Neun^Neun " schrieb:
196627054535783238749975145496263029400627217986859250609240466365088900000000

Für C# gibt es eine klasse namens Big Int.

Kurz noch der C# code:
PHP:
            double x = 9;
            double y = 9;
            double temp = Math.Pow(x, y);
            BigInteger b1 = new BigInteger(temp.ToString(), 10);
            BigInteger b2 = new BigInteger(temp.ToString(), 10);
            for (int i = 0; i < 8; i++)
            {
                b2 += b2 * b1;
            }
            Console.WriteLine("Neun^Neun^Neun :"+b2);
            Console.ReadLine();

Kann auch sein das ich Hier was falsch gemacht habe, denn die Nullstellen am ende kommen mir dann doch sehr verdächtig vor :D.

Und zu meiner Verteidigung : ich hatte nur 5 min zeit :D.
 
Loopo schrieb:
Das kann dir doch der ganz normale Windows Rechner kalkulieren.

1,9662705047555291361807590852691e+77
Nein. Das ist definitiv falsch.
Du hast bestimmt 9 hoch 9 hoch 9 eingeben. Ja, da macht er noch mit, nur ist das leider nicht gesucht! Wenn du einfach 9 hoch 9 hoch 9 nacheinander eingibst, dann berechnet er 387420489 hoch 9. Gesucht ist aber 9 hoch 387420489. Das ist dann schon ein klitzekleiner Unterschied. ;) Und wenn du 9 hoch 387420489 eingibst, dann spukt der Windows Rechner auch schon 'ne Fehlermeldung aus. :p
 
genau, es muss 9 hoch 387420489, da Potenzrechnung vor geht!
 
Probier mal mit Fortran.
Am Institut wo ich arbeite wird Numerik auch zum Teil direkt mit Fortran gelöst.
 
Problem ist nur, dass das heute keiner mehr kann und deswegen wirst du wohl auch kaum noch was dazu im Internet finden.
 
Zurück
Oben