500) Требовалось написать программу, которая получает на вход натуральное число N, не превосходящее 109, и выводит число, которое получается из N после удаления всех единиц, порядок остальных цифр при этом не меняется. Например, число 19520125 должно быть преобразовано в число 952025. Число, в котором все цифры – единицы и нули, должно быть преобразовано в 0. Незначащие нули в старших разрядах полученного числа печатать не нужно. Программист торопился и написал программу неправильно.
N = int(input())
R = 0
T = 1
while N > 0:
d = N % 10
if d != 1:
R = R + d*T
T = T + 1
N = N // 10
print(T)
var
N, R, T: longint;
d: integer;
begin
readln(N);
R:=0;
T:=1;
while N>0 do begin
d := N mod 10;
if d<>1 then begin
R := R + d*T;
T := T+1
end;
N := N div 10;
end;
writeln(T);
end.
#include <iostream>
using namespace std;
int main() {
long N, R, T;
int d;
cin >> N;
R=0;
T=1;
while (N>0) {
d = N % 10;
if (d != 1) {
R = R + d*T;
T = T+1;
}
N = N / 10;
}
cout << T;
}
Последовательно выполните следующее:
1. Напишите, что выведет эта программа при вводе числа 314.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки выпишите номер строки и укажите, как надо исправить ошибку - приведите правильный вариант строки.