Ben ook even bezig geweest met programmeren. Ik in Quick Basic. Onder DOS dus loopt een stuk sneller.
Het enige probleem dat ik had was dat ik het programma niet in een stap kon laten uitmaken of het een geheel getal is of niet. Daarom liet ik het eerst afkappen, m.b.v. de optie integer (int(5,3456) geeft 5, maar int(5,9456) geeft ook 5).
Als je dan if getal - int(getal) = 0 neemt, weet je dat het een geheel getal is.
Het probleem is alleen dat die optie niet heel goed werkt: er wil wel eens een restje blijven hangen dat kleiner is dan 1 * 10 ^-4. Dus soms is de uitkomst van getal - int(getal) 1 * 10 ^-4. En dat is niet 0 dus wertk het ifstatement niet. Dus heb ik eringebouwd dat het programma die marge negeert,... maar dat zou kunnen betekenen dat er een getal binnensluipt dat niet klopt.
Maar goed,.. dit is mijn programmeer code
<i>CLS
DIM a AS STRING
OPEN "c:\getal\prog.txt"
FOR INPUT AS #1
INPUT #1, x
CLOSE
OPEN "c:\getal\lijst.txt" FOR APPEND AS #1
DO
x = x + 1
LOCATE 1, 1: PRINT x
kwadraat = SQR(x - 1)
IF kwadraat - INT(kwadraat) = 0 OR kwadraat - INT(kwadraat) < 10 ^ -4 THEN
derdemacht = (x + 1) ^ (1 / 3)
IF derdemacht - INT(derdemacht) = 0 OR derdemacht - INT(derdemacht) < 10 ^ -4 THEN
WRITE #1, x
LOCATE 3, 1: PRINT x
END IF
END IF
a = INKEY$
IF a = "e" THEN
CLOSE
OPEN "c:\matthias\prog.txt" FOR OUTPUT AS #1
WRITE #1, x
CLOSE
END
END IF
LOOP</i>
Je moet met het indrukken van e stoppen zodat de waardes worden opgeslagen.
In prog.txt wordt de vordering (progress) opgeslagen
in getal.txt alle getallen die gevonden worden
Maak in de directory eerst deze twee text bestanden aan!!
en plaats in prog.txt het getal 0 (anders kan ie niet beginnen)
geen zin hierin om't zelf te doen
http://www.despotes.myweb.nl/getal/getal.zip
Quick Basic: