• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

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

Guest

на паскале

Найти и вывести на экран 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.
 
вопрос номер раз: для чего нужна переменная b?
она используется в цикле с параметром

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


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

:(
аа поняла спасибо большое=))
 
для чего? почему именно +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.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab