000
28.10.2007, 11:26 Uhr
~athan
Gast
|
hi! ich habe das problem, dass ich net weiss, wie ich bedinungen wie (erg==ganze zahl)? formulieren soll. geht das überhaupt? ich will ein programm schreiben, dass mir alle primzahlen zwischen 0 und 100 ausgibt und hatte mir das so gedacht:
eine schleife wird solange ausgeführt, wie die zahl kleiner als 100 ist, und wird mit jedem durchlauf um 1 erhöht. d.h. schonmal, dass ich eine zahl nach der anderen auf primzahlen prüfen will. im schleifenkörper soll dann eine 2. zahl mit der ersten gleichgesetzt werden (sozusagen ein klon). dann kommt eine weitere schleife, die solange ausgeführt wird, wie zahl2 größer als 0 ist (die wird mit jedem durchlauf um 1 verringert). und dann wird zahl mit zahl2 (die ja immer kleiner wird) dividiert. und dann soll ein x immer dann um 1 erhöht werden, wenn das ergebnis eine ganze zahl war! und dann kann ich sagen, dass die zahl eine primzahl ist, wenn x=2 ist, weil es dann nur 2 zahlen gab, durch die man die zahl teilen konnte (nämlich 1 und sich selbst)! dann ist der erste schleifenkörper vorbei, die zahl wird um 1 erhöht und das ganze geht wieder von vorne los. das sieht dann so aus:
C++: |
for (zahl=1; zahl<100; ++zahl) { zahl2=zahl;
while (zahl2>0) { erg=zahl/zahl2;
if (erg == ganze zahl) <<< :screwy: x=x+1;
--zahl2; } if (x==2) printf ("%d", zahl); printf ("\n"); }
|
und ich würde das gerne SO lösen dass ihr das mit links macht, is mir klar, aber ich weiss, dass mein programm funzen würde, wenn ich nur wüsste, wie man diese eine (kursive^^) bedingung da formuliert! Dieser Post wurde am 28.10.2007 um 12:24 Uhr von Windalf editiert. |