506) На вход программы поступает натуральное число. Требуется определить сумму цифр в десятичной записи этого числа, которые не кратны 3 (считается, что 0 кратно любому числу). Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная.
N = int(input())
sum = N % 10
while N > 0:
digit = N % 10
if digit % 3 > 0:
sum = digit
N = N // 10
if sum > 0:
print(sum)
else:
print('NO')
var
N: longint;
digit, sum:integer;
begin
readln(N);
sum := N mod 10;
while N > 0 do begin
digit := N mod 10;
if digit mod 3 > 0 then
sum := digit;
N := N div 10;
end;
if sum > 0 then
writeln(sum)
else
writeln('NO')
end.
#include <iostream>
using namespace std;
int main() {
long N;
int digit, sum;
cin >> N;
sum = N % 10;
while (N > 0) {
digit = N % 10;
if (digit % 3 > 0){
sum = digit;
}
N = N / 10;
}
if (sum > 0)
cout << sum << endl;
else
cout << "NO" << endl;
}
Последовательно выполните следующее:
1. Напишите, что выведет эта программа при вводе числа 654.
2. Укажите одно трёхзначное число, при вводе которого программа выведет правильный ответ.
3. Найдите в программе все ошибки