В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Severelinka
Severelinka
16.09.2020 17:06 •  Информатика

Хорошая в настоящее время известно множество разных чисел: простые, составные, числа фибоначчи и многие другие. школьник василий решил придумать свои числа, чтобы остаться на страницах . как говорится, своё всегда является лучшим, поэтому василий, недолго думая, назвал свои числа хорошими. под его определение хорошего числа подходят все числа, большие девяти, для которых выполняются следующие условия: 1. если пронумеровать позиции цифр в числе справа налево, начиная с 1 (то есть в числа 42 двойка будет на первой позиции, а четвёрка на второй), то суммы цифр на чётных и нечётных позициях будут отличны от нуля. 2. сумма цифр, стоящих на чётных позициях, делится на сумму цифр, стоящих на нечётных позициях. теперь василий хочет проверить, является ли некоторое число n хорошим. входные данные первая строка входного файла содержит одно целое число n (1 ≤ n ≤ 10100) – число, интересующее василия. гарантируется, что для всех чисел, поступающих на вход, выполнено условие 1. выходные данные если введённое число хорошее, то выведите "yes" без кавычек и (через одиночный пробел) частное от деления суммы цифр, стоящих на чётных позициях, на сумму цифр, стоящих на нечётных позициях, в противном случае выведите "no" (также без кавычек) и остаток от деления. подскажите, хотябы сам ход решения, без всякий begin, program и т.д

Показать ответ
Ответ:
kirilln2
kirilln2
02.10.2020 23:42
Самый простой вариант - подсчитать сумму четных и нечётных через цикл, в котором берём остатки от деления. Можно начать с конца и соответственно начать подсчитывать сумму только от первого числа с конца не равного 0. Подсчитываем через целочисленное деление на круглое число и нахождение остатка при деление на один. Данные, чередуя, прибавляем к разным переменным(пусть будут x1 и x2). Затем проверяем остаток от деления одной переменной на другую. Если 0 - "Yes", иначе - "No" For i=5 downto 1 do If i Mod 2 = 1 then a:= a+n div (10^(i-1)) mod 10 Else B=B+ div (10^(i-1)) mod 10;
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота