К Василию приехали два его друга с отличной новостью: они
выиграли в лотерею n рублей.
Поскольку лотерейный билет был получен на сдачу во время общей закупки в
магазине, то его принадлежность определить не удалось. Было решено разделить
выигрыш поровну. Василий хотел бы узнать, можно ли честно разделить выигрыш.
Вход. Одно натуральное число n, количество знаков которого не превышает 255.
Выход. Вывести “YES”, если входное
число делится на 3, и “NO” если не делится.
Пример
входа |
Пример
выхода |
1234567890987654321 |
YES |
математика
– делимость чисел
Анализ алгоритма
Число делится на
3, если сумма его цифр делится на 3. Достаточно просуммировать цифры входной
строки и проверить, делится ли полученная сумма на 3.
Реализация алгоритма
Читаем последовательно
символы пока не дойдем до конца строки (символ ‘\n’). Суммируем цифры, им соответствующие,
в переменной s. Например, символу ‘7’
соответствует
цифра ‘7’ – ‘0’ = 7.
while(scanf("%c",&c),
c != '\n')
s += c - '0';
Если сумма цифр s делится на 3, то выигрыш можно разделить честно.
if (s % 3 == 0) printf("YES\n"); else
printf("NO\n");
Java реализация
import
java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
String s = con.nextLine();
int sum = 0;
for(int i = 0; i < s.length(); i++)
sum += s.charAt(i) - '0';
if (sum % 3
> 0)
System.out.println("NO");
else
System.out.println("YES");
}
}
Python реализация
s = str(input())
sum = 0
for ch in s:
sum += int(ch)
if sum % 3 == 0:
ans = "YES"
else:
ans = "NO"
print(ans)