Program test; uses utils; var n,i,sum,time:longint; flag:boolean; begin readln(n); if n<2 then flag:=false;{Единица - не простое число} if n=2 then flag:=true;{2 - простое} if (n>2) and (n mod 2 <> 0) then begin{ после двойки простые числа только нечетные} for i:=1 to n do begin{проверяем что бы было только 2 делителя} sum:=sum+1; end; if sum=2 then flag:=true; end else flag:=false; if flag then writeln('Число простое') else writeln('Число НЕ простое'); time:=milliseconds; writeln('Времени затрачено ',time:10,' ms.'); end. Все проверки сделаны для сокращения времени работы программы.
LIN1022
31.07.2022
В начале в строке находилось 333 троек по 8 плюс одна 8, всего 1000 восьмерок. 1. При выполнения цикла каждая из троек 8 будет заменена на одну 9. Значит у нас получится строка длиной в 334 символа, где 333 девятки и последний символ - восьмерка 2. Далее 333 девятки заменятся на 111 восьмерок плюс последняя восьмерка - всего получим 112 восьмерок 3. Из 112 восьмерок получится 37 девяток и одна восьмерка 4. И 37 девяток получим 12 восьмерок плюс одна девятка и плюс последняя восьмерка 5. 12 восьмерок дадут 4 девятки плюс последние 9 и 8 6. И наконец получаем строку 8998 ответ: 8998
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
У циклі вивести до listBox значення z в інтервалі [2;14] та значення третіх степенів цих чисел.
uses utils;
var
n,i,sum,time:longint;
flag:boolean;
begin
readln(n);
if n<2 then flag:=false;{Единица - не простое число}
if n=2 then flag:=true;{2 - простое}
if (n>2) and (n mod 2 <> 0) then begin{ после двойки простые числа только нечетные}
for i:=1 to n do begin{проверяем что бы было только 2 делителя}
sum:=sum+1;
end;
if sum=2 then flag:=true;
end
else flag:=false;
if flag then writeln('Число простое') else writeln('Число НЕ простое');
time:=milliseconds;
writeln('Времени затрачено ',time:10,' ms.');
end.
Все проверки сделаны для сокращения времени работы программы.