De digitale vraagbaak voor het wiskundeonderwijshome | vandaag | gisteren | bijzonder | gastenboek | wie is wie? | verhalen | contact |
||||||||||||||||||
|
\require{AMSmath}
Volmaakte getallen in Turbo PascalIk wil een programma met behulp van turbopascal schrijven, dat alle volmaakte getallen tot 1000 opspoort en laat zien. Maar dit wil maar niet lukken. Help! AntwoordHet kan...PROGRAM Volmaakt; VAR n:LONGINT; FUNCTION isprime(n:LONGINT):BOOLEAN; var t:LONGINT; begin isprime:=FALSE; FOR t:=2 TO n DO if (n MOD t) = 0 then begin isprime:=true; EXIT end; end; FUNCTION macht(g,e:LONGINT):LONGINT; var t,resultaat:LONGINT; begin resultaat:=1; FOR t:=1 TO e DO resultaat:=resultaat*g; macht:=resultaat end; FUNCTION eucl(n:LONGINT):LONGINT; var sn, laatste:LONGINT; begin sn:=macht(2,n)-1; laatste:=macht(2,n-1); if isprime(sn) then eucl:=sn*laatste else eucl:=0; end; BEGIN for n:=1 to 16 do if eucl(n)<>0 then writeln(n,' -> ',eucl(n)); READLN END.Een minpuntje... als n groter wordt dan 16 gebeurt er iets vreemds... die LONGINT van Turbo Pascal is niet zo lang als ik dacht... misschien een leuk werkje voor jou om dat in het programma te verbeteren!
home | vandaag | bijzonder | gastenboek | statistieken | wie is wie? | verhalen | colofon ©2001-2024 WisFaq - versie 3
|