De digitale vraagbaak voor het wiskundeonderwijshome | vandaag | gisteren | bijzonder | gastenboek | wie is wie? | verhalen | contact |
|||||||||||||||
|
\require{AMSmath}
Reageren...Re: TellenIk 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! Gebruik dit formulier alleen om te reageren op de inhoud van de vraag en/of het antwoord hierboven. Voor het stellen van nieuwe vragen kan je gebruik maken van een vraag stellen in het menu aan de linker kant. Alvast bedankt! |