De digitale vraagbaak voor het wiskundeonderwijs

home |  vandaag |  gisteren |  bijzonder |  gastenboek |  wie is wie? |  verhalen |  contact

HOME

samengevat
vragen bekijken
een vraag stellen
hulpjes
zoeken
FAQ
links
twitter
boeken
help

inloggen

colofon

  \require{AMSmath}

Reageren...

Re: Tellen

Ik 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!

Antwoord

Het 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!

Reactie:

Klik eerst in het tekstvlak voordat je deze knopjes en tekens gebruikt.
Pas op: onderstaande knopjes en speciale karakters werken niet bij ALLE browsers!


áâæàåãäßçéêèëíîìïñóôòøõöúûùüýÿ½¼¾£®©




$\mathbf{N}$ $\mathbf{Z}$ $\mathbf{Q}$ $\mathbf{R}$ $\mathbf{C}$
Categorie: Telproblemen
Ik ben:
Naam:
Emailadres:
Datum:20-5-2024