Ссылка на оригинальную статью
Ссылка на Try Haxe!
Ссылка на e-olymp
Задача
К Василию приехали два его друга с отличной новостью: они выиграли в лотерею $n$ рублей. Поскольку лотерейный билет был получен на сдачу во время общей закупки в магазине, то его принадлежность определить не удалось. Было решено разделить выигрыш поровну. Василий хотел бы узнать, можно ли честно разделить выигрыш.
Входные данные
Одно натуральное число $n$, количество знаков которого не превышает 255.
Выходные данные
Вывести «Yes», если входное число делится на 3, и «No», если не делится.
Тесты
Входные данные | Выходные данные |
---|---|
33 | Yes |
0 | Yes |
1 | No |
1234567890987654321 | Yes |
12345678901 | No |
Код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
class Main { static function main() { var line = Sys.stdin().readLine(); var sum = 0; for (i in 0...line.length) { sum += Std.parseInt(line.charAt(i)); } var message = sum % 3 == 0 ? "Yes" : "No"; Sys.stdout().writeString(message + "\n"); } } |
Решение
Для начала вводим строку, где будет хранится наше число. Будем считать сумму цифр числа, т.к. число делится на 3, если сумма его цифр делится на 3. Для этого создаем переменную $sum$, в которой будет хранится сумма цифр. Запускаем цикл от 0 до размера строки (количество цифр в числе). В цикле суммируем цифры числа, преобразуя каждый символ в Int с помощью функции parseInt. Далее проверяем — если сумма цифр делится по модулю на 3, то выводим «Yes», если нет — то «No».
- e-olymp 2162. Палиндром - 06.06.2017
- 2.1.2 Переполнение - 04.06.2017
- e-olymp 2163. Сообразим на троих! - 13.05.2017
Ссылка на try.haxe с одним тестовым примером хотя бы.
Ссылка на соответствующую задачу на cpp.mazurok.com.
Ссылка на e-olymp.
Лишний enter в коде перед static main.
В задаче фигурирует число, которое может состоять из 255 знаков. Так что ваше решение не работает для чисел в которых больше девяти знаков. Так что задача не решена. Предлагаю внимательно ознакомиться с решением на cpp.mazurok.com.
Исправила, проверьте, пожалуйста
— целочисленное число? Масло масляное 🙂 Исправьте, пожалуйста.
— Пояснение осталось от какой-то из предыдущих версий программы?
Добавила пояснение, убрала лишнее масло
Хорошо. Принято.