PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wertetabelle für den Satz des Pythagoras


hippie
14.02.2001, 20:58
ich will eine wertetabelle für alle a,b,c Element von N im zahlenraum von 0 - 1000 für den satz des pythagoras ( a2+b2=c2) erstellen.
kann ich das in exel machen?? oder kennt jemand eine website oder ein buch, indem so eine tabelle beschrieben ist?? oder ein anderes programm, mit man so etwas erstellen kann? ich habe trotz langer suche bei metager nichts finden können.

hippie

------------------
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher. (Albert Einstein)

buba
14.02.2001, 22:14
Wenn es nicht unbedingt eine Excel-Tabelle sein muss, könnte man's ja mit JavaScript versuchen! :)

Wie hast du dir diese Tabelle vorgestellt?

<pre style="font-size:larger">
a b c
0 0 0
1 1 1
2 2 2*SQRT(2)
3 3 2*SQRT(3)
</pre>

Oder lässt du a konstant und variierst b von 0 bis 1000, wobei du c berechnen lässt...?

No Regrets
15.02.2001, 13:28
schreibe in spalte A alle werte für a rein
in spalte B dasselbe

so und in spalte C kommt folgendes =WURZEL(A1^2+B1^2)

un dann zelle kopieren wie immer!

buba
15.02.2001, 15:25
das ist bei 1000 zahlen aber sehr umständlich, wenn man die zellen jeweils mit der zahl per hand füllen muss...

hippie
15.02.2001, 18:03
ich glaube ich habe mich unklar ausgedrückt. ich meine alle ganzzahligen lösungen im bereich von 1 - 1000. also a element N; b element N; c element N:

32+42=52
...

aber ich probier mal die exel sache aus vielleicht geht es, dass ich alle unerwünschten a,b,c aussortiere.

trotzdem danke!
hippie

------------------
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher. (Albert Einstein)

hippie
15.02.2001, 18:50
also ich hab mir das in exel angeguckt und gesehen, dass das SEHR aufwendig ist, weil ich b natürlich variieren muss.

@buba leider kann ich kein javascript http://www.studenten-city.de/forum/smilies/frown.gif

aber es muss doch irgendwo eine tabelle geben nur ich find sie nicht http://www.studenten-city.de/forum/smilies/frown.gif

hippie

------------------
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher. (Albert Einstein)

nobody
15.02.2001, 19:00
Da die Rechenzeit ja wohl keine Rolle spielt:
schreib doch ein kurzes PASCAL-Programm, das prüft, ob die Summe zweier Quadratzahlen eine Quadratzahl ist.
Von 1-1000 dürfte das nicht länger als 15min rechnen.

buba
15.02.2001, 19:01
*MEGAFREU* Heureka!

<pre style="font-size:12">
&lt;html>
&lt;body>
&lt;script language="JavaScript">
for(a = 1; a &gt;= 1000; a++)
{
for(b = a; b &gt;= 1000 ; b++)
{
var c1 = eval(a*a)
var c2 = c1 + eval(b*b)
var c3 = Math.sqrt(eval(c2))
var c4 = String(c3)
if(c4.indexOf(".") == -1)
document.write(a+"&lt;sup>2&lt;/sup> + "+b+"&lt;sup>2&lt;/sup> = "+c4+"&lt;sup>2&lt;/sup>&lt;br>")
}
}
&lt;/script>
&lt;/body>
&lt;/html>
</pre>

Vorsicht! Das Berechnen dauert ein wenig (bei meinem P3 ca. 22 s)! Also nicht denken, dass der Browser abgestürzt ist... :D

<FONT COLOR="#ffffff" SIZE="1" FACE="Verdana, Arial, Geneva, Helvetica">[Dieser Beitrag wurde von buba am 15.02.2001 editiert.]</font>

hippie
15.02.2001, 21:25
<IMG SRC="http://cwm.ragesofsanity.com/s/cwm2/cwm14.gif" border=0> *HEUL* es funzt nicht! dabei habe ich einen P3 866 Mhz aber nach 15 min hat er es immer noch nicht geschafft. was hab ich bloss falsch gemacht?? ich habe den text einfach kopiert (natürlich ohne deine kommentare) und als .html gespeichert.
oder liegt es vielleicht am IE??

@moritz
ich habe noch nicht viel mit pascal gearbeitet, nur ein bisschen mit turb pascal. wie schreibt man so ein programm??

vielen,vielen dank, vielleicht find ich ja noch den fehler!

hippie

------------------
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher. (Albert Einstein)

buba
16.02.2001, 11:15
Also bei mir klappt's wunderbar.

&lt;html>
&lt;body>
&lt;script language="JavaScript">
for(a = 1; a &lt;= 1000; a++)
{
for(b = a; b &lt;= 1000 ; b++)
{
var c1 = eval(a*a)
var c2 = c1 + eval(b*b)
var c3 = Math.sqrt(eval(c2))
var c4 = String(c3)
if(c4.indexOf(".") == -1)
document.write(a+"&lt;sup>2&lt;/sup> + "+b+"&lt;sup>2&lt;/sup> = "+c4+"&lt;sup>2&lt;/sup>&lt;br>")
}
}
&lt;/script>
&lt;/body>
&lt;/html>


edit: Ich weiß jetzt, wo der Fehler lag! > statt <, sorry. Mit dem korrigierten Script müsste es klappen!

Die ersten Werte, die man erhält, sind:

32 + 42 = 52
52 + 122 = 132
62 + 82 = 102
72 + 242 = 252
82 + 152 = 172
92 + 122 = 152
92 + 402 = 412
102 + 242 = 262
112 + 602 = 612
122 + 162 = 202
122 + 352 = 372
132 + 842 = 852
142 + 482 = 502

<FONT COLOR="#ffffff" SIZE="1" FACE="Verdana, Arial, Geneva, Helvetica">[Dieser Beitrag wurde von buba am 16.02.2001 editiert.]</font>

nobody
16.02.2001, 11:43
@ hippie:
Mit Pascal meinte ich natürlich TurboPascal. (Die meisten anderen Pascal-Compiler/-Interpreter sind zu 99% mit Borland's TP kompatibel.)

Das Programm würde ähnlich aussehen, wie buba's JavaScript (aber halt mit Pascal-Syntax). Ein paar Tricks zur Rechenzeit-Verkürzung könnte man auch noch einbauen...

<FONT COLOR="#ffffff" SIZE="1" FACE="Verdana, Arial, Geneva, Helvetica">[Dieser Beitrag wurde von Moritz am 16.02.2001 editiert.]</font>

buba
16.02.2001, 12:04
@rechenzeit-verkürzung?
ich glaub, man kann 23 s in kauf nehmen! :D

dass ein programm in TP signifikant länger oder kürzer braucht, kann ich mir nicht vorstellen...

nobody
16.02.2001, 12:25
Klar ist gegen 23s nichts einzuwenden.

Aber wenn ich - dank meiner unendlich großen Neugier - alle pythagoräischen Zahlentripel bis zu einer Million ermitteln möchte? ;)
Dann bringt ein bißchen Fein-Tunig an diesem Algorithmus einiges.

Vielleicht probier ich das mal am Wochenender aus...

<FONT COLOR="#ffffff" SIZE="1" FACE="Verdana, Arial, Geneva, Helvetica">[Dieser Beitrag wurde von Moritz am 16.02.2001 editiert.]</font>

hippie
16.02.2001, 20:49
es klappt!! <IMG SRC="http://cwm.ragesofsanity.com/s/net8/partytime.gif" border=0> *nochmehrmegafreu*<IMG SRC="http://cwm.ragesofsanity.com/s/net8/partytime.gif" border=0>

also 103 DANK!

@moritz
mit der rechenzeit habe ich keine probleme, bei mir hat es nur 13s gedauert! aber wenn du es nicht lassen kannst und ein TP programm schreibst kannst du es mir gerne zukommen lassen... ;)

hippie

------------------
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher. (Albert Einstein)

hippie
17.02.2001, 08:09
@moritz

in meinem ungestümen wissens drang habe ich die zahlen bereiche für a und b verändert und die rechen zeiten sind erhebluich gestiegen
bis 1000 13s
bis 2000 30s
bis 3000 110s
bis 10000 nunja nach einer viertelstunde hat sich mein pc aufgehängt
also wenn du meinst ein TP programm läuft schneller bzw stabiler kannst du mir dann so eine kurzbeschreibung davon liefern?
würde mich mal interessieren wie man sowas schreibt.

hippie

------------------
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher. (Albert Einstein)

buba
17.02.2001, 08:44
Original erstellt von hippie:
also wenn du meinst ein TP programm läuft schneller bzw stabiler kannst du mir dann so eine kurzbeschreibung davon liefern?
würde mich mal interessieren wie man sowas schreibt.

mich jetzt auch. :)

nobody
17.02.2001, 09:25
Mein soeben geschriebenes TP-Programm braucht für alle a von 0..3000 nur 34 Sekunden (Euer JavaScript: 110s) bei Ausgabe in eine Datei (Bildschirmausgabe ist uninteressant und langsam).
Hier habt Ihr den Quellcode (http://www.chemieonline.com/forum/mod/moritz/pythtrip.pas) .
Hier die erzeugte Textdatei (http://www.chemieonline.com/forum/mod/moritz/pythtrip.txt) von 1..3000 (115kByte).

Das Programm ist noch nicht optimiert!
Es läßt sich sicherlich noch einiges rausholen...

nobody
17.02.2001, 09:53
Mein Programm braucht 400s (6min 40s) bis 10000. (Ohne Optimierung.)

hippie
17.02.2001, 17:21
nochmals vielen dank sowohl an buba als auch an moritz.
ich hab lediglich die USES zeile veränder, weil ich TP für windows benutze (crt in Wincrt und dos in Windos).

@moritz
mein pc brauch bloß 27,02 sek! :D

thx
hippie

------------------
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher. (Albert Einstein)

<FONT COLOR="#ffffff" SIZE="1" FACE="Verdana, Arial, Geneva, Helvetica">[Dieser Beitrag wurde von hippie am 17.02.2001 editiert.]</font>

hippie
17.02.2001, 22:41
bei mir brauchts bis 10000 nur 4 min 50 sek. :D

kann es sein, dass es probleme gibt, wenn man die erzeugte textdatei überschreiben will? bei mir ist nämlich beim zweiten lauf des programmes der pc abgestürzt und hat sich solange aufgehängt, bis ich ich die datei umbennat und die Pythtrip.txt gelöscht habe.

hippie

------------------
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher. (Albert Einstein)

nobody
18.02.2001, 09:18
Möglich, dass das File-Handling unter Windows ein bißchen anders abläuft.
Vielleicht versuchst Du zusätzlich zum ReWrite noch ein Reset (davor).

Übrigens: es würde ausreichen, alle pyth. Tripel (PT) zu bestimmen, die teilerfremd sind (ggT=1 ==> mindestens eine Zahl ist Primzahl). Durch Multiplikation erhält man alle anderen Tripel.

Mehr dazu hier (http://www.mathe.tu-freiberg.de/~hebisch/cafe/pythtripel.html) .