Stránka 1 z 1

Pascal prvocisla

Napsal: 21 bře 2013 20:05
od flushed
Zdravím, napsal jsem program na výčet prvočísel do určité hodnoty, ale nechce mi to tam započíst i 2. Nevím, kde je chyba

Kód: Vybrat vše

program Prvocisla;

uses crt;
var
  x,y,c:integer;    {x - číslo, které ověřuju
                     y - číslo, kterým zkouším dělit
                     c - counter - počítání bezezbytkových dělení}



  k:real;          //k - modulo
begin
  x:=2;           // začnu u 2
  y:=x;
  k:=1;           //nějak deklaruju k
  c:=0;           //      -||-      c
  while(x<1000) do //počet čísel, které odzkouším
  begin
    while(y>1)do
    begin
      k:=x mod y;
      if(k=0)then
        c:=c+1;    //po každém úspěšném dělení zvýší counter o 1
      y:=y-1;      //a sníží y o 1
    end;
    if(c=1)then    //když se to povedlo jenom jednou (x/x), tak je to prvočíslo
      writeln(x);
    x:=x+1;        //zvýšení x
    y:=x;          //nastavení y
    c:=0           //vynulování counteru
  end;
  readln;
end.

Re: Pascal prvocisla

Napsal: 21 bře 2013 20:48
od HellCoder
Staci snizit x na 0 a ve while podminku posunout o dve mista.

Re: Pascal prvocisla

Napsal: 21 bře 2013 23:00
od flushed
Díky

Re: Pascal prvocisla

Napsal: 21 bře 2013 23:04
od faraon
2
3
5
7
11
...
Mě to dvojku vypíše.