Паскаль Циклы И Числа

  • Автор темы Guest
  • Дата начала
G

Guest

#1
на паскале

Найти и вывести на экран 5 простых чисел больших некоторого заданного числа K.

Код:
program one;
uses crt;
var k,n,x,i,j,b:integer;
begin clrscr;
write('vv k = '); read(k);
x:=0;
b:=15+k;
while x>5 do
begin
for i:=2 to b do begin
n:=0;
for j:=2 to trunc(sqrt(i)) do begin
if i mod j =0 then inc(n);
if (n=0) and (i>k) then begin writeln(i:4); x:=x+1;end; end;
end;
end;
readkey;
end.
 

acorn

PHP Developer
29.08.2004
585
3
#2
вопрос номер раз: для чего нужна переменная b?
 
G

Guest

#4
вопрос номер раз: для чего нужна переменная b?
она используется в цикле с параметром

Добавлено:
логическая ошибка


цикл не будет выполняться, потому что х меньше 5...
поменяй ">" на "<"

:(
аа поняла спасибо большое=))
 

Senset

Well-known member
11.09.2006
136
0
#6
для чего? почему именно +15? просто логики в вашем алгоритме ни капельки
потому что нужны числа большие, чем k... если не видите логику... а не важно

хотя вы конечно немного переусердствовали с циклами...
Код:
uses crt;

var k,b,n,i:integer;
is_simple:boolean;

begin
clrscr;
write('vv k=');read(k);
n:=0;
b:=k+1;
while n<5 do
begin
i:=2;
is_simple:=true;
while (is_simple)and(i<=trunc(sqrt(b))) do
begin
if b mod i=0 then is_simple:=false;
i:=i+1;
end;
if is_simple then
begin
writeln(b);
n:=n+1;
end;
b:=b+1;
end;
readkey;
end.