Var A:longint; n,p:integer; B:byte; Begin Write('Введите натуральное число: '); ReadLn(A); n:=0; p:=0; While A > 0 do Begin B:=A mod 10; if B = 0 then n:=n+1; if B = 5 then p:=p+1; A:=A div 10; End; WriteLn('Количество нулей в числе: ',n); WriteLn('Количество пятёрок в числе: ',p); End.
Вариант второй:
Var A:string; n,p,i:integer; Begin Write('Введите натуральное число: ');ReadLn(A); n:=0; p:=0; For i:= 1 to Length(A) do if A[i] = '0' then n:=n+1 else if A[i] = '5' then p:=p+1; WriteLn('Количество нулей в числе: ',n); WriteLn('Количество пятёрок в числе: ',p); End.
Не особо знаю паскаль, так что дабы не накосячить с синтаксисом, покажу на примере. Тут всё просто - тебе лишь нужен цикл For и расчет процентов.
FOR i = 1 TO 100 percents = FIX(x * p / 100) ' здесь у нас есть переменная percents, которой присваиваются округленные функцией fix проценты (насколько я знаю, в паскале аналогичная функция называется Round) x = x + percents 'тут всё понятно - переменной X присваивается она сама и годовые проценты по вкладу IF x >= y THEN 'проверяем, не равен или не превысил ли наш вклад ожидаемую сумму PRINT i 'в цикле For можно не заморачиваться с отслеживанием лет, переменная i сама подсчитает количество итераций-лет END 'завершаем программу END IF NEXT i ' конец цикла Можно ещё чисто для себя добавить в условие вывод переменной X, чтобы было нагляднее.
Var
A:longint;
n,p:integer;
B:byte;
Begin
Write('Введите натуральное число: ');
ReadLn(A);
n:=0;
p:=0;
While A > 0 do
Begin
B:=A mod 10;
if B = 0 then n:=n+1;
if B = 5 then p:=p+1;
A:=A div 10;
End;
WriteLn('Количество нулей в числе: ',n);
WriteLn('Количество пятёрок в числе: ',p);
End.
Вариант второй:
Var
A:string;
n,p,i:integer;
Begin
Write('Введите натуральное число: ');ReadLn(A);
n:=0;
p:=0;
For i:= 1 to Length(A) do
if A[i] = '0' then n:=n+1
else if A[i] = '5' then p:=p+1;
WriteLn('Количество нулей в числе: ',n);
WriteLn('Количество пятёрок в числе: ',p);
End.
FOR i = 1 TO 100
percents = FIX(x * p / 100) ' здесь у нас есть переменная percents, которой присваиваются округленные функцией fix проценты (насколько я знаю, в паскале аналогичная функция называется Round)
x = x + percents 'тут всё понятно - переменной X присваивается она сама и годовые проценты по вкладу
IF x >= y THEN 'проверяем, не равен или не превысил ли наш вклад ожидаемую сумму
PRINT i 'в цикле For можно не заморачиваться с отслеживанием лет, переменная i сама подсчитает количество итераций-лет
END 'завершаем программу
END IF
NEXT i ' конец цикла
Можно ещё чисто для себя добавить в условие вывод переменной X, чтобы было нагляднее.