1) Пароль в этом коде - "zn4n1j4". Заменить при необходимости.
var
i: integer;
s: string;
begin
i := 1;
while i <= 5 do
begin
readln(s);
if s = 'zn4n1j4' then
begin
writeln('Вход в систему разрешен');
exit;
end;
writeln('Неверный пароль.');
end;
writeln('Пароль не был угадан 5 раз.');
end.
2) Используем операцию x mod 10 для получения последней цифры числа и x div 10 для "отбрасывания" последней цифры числа.
var
x, ans: integer;
begin
read(x);
ans := 0;
while x <> 0 do
begin
ans := ans + (x mod 10);
x := x div 10;
end;
writeln(ans);
end.
1) Пароль в этом коде - "zn4n1j4". Заменить при необходимости.
var
i: integer;
s: string;
begin
i := 1;
while i <= 5 do
begin
readln(s);
if s = 'zn4n1j4' then
begin
writeln('Вход в систему разрешен');
exit;
end;
writeln('Неверный пароль.');
end;
writeln('Пароль не был угадан 5 раз.');
end.
2) Используем операцию x mod 10 для получения последней цифры числа и x div 10 для "отбрасывания" последней цифры числа.
var
x, ans: integer;
begin
read(x);
ans := 0;
while x <> 0 do
begin
ans := ans + (x mod 10);
x := x div 10;
end;
writeln(ans);
end.
Есть пара неясностей в условии. Если допускается такое, что единица и само число тоже являются делителями, то берите первый вариант решения, иначе - берите второе.
И еще кое-что: если нужно хотя бы 4 делителя, то оставьте все как есть, а если нужно ровно четыре делителя, в строчке if k>=4 then write(i:3); уберите знак > .
1 вариант.
program zadacha;
var n, i, j, k : byte;
begin
write('введите число N');
for i:= 1 to n do begin
k:=0;
for j:= 1 to i do
if i mod j =0 then k:=k+1;
if k>=4 then write(i:3);
2 вариант.
program zadacha;
var n, i, j, k : byte;
begin
write('введите число N');
for i:= 1 to n do begin
k:=0;
for j:= 2 to (i-1) do
if i mod j =0 then k:=k+1;
if k>=4 then write(i:3);