Хорошая задача В настоящее время известно множество разных чисел: простые, составные,...

0 голосов
43 просмотров

Хорошая задача
В настоящее время известно множество разных чисел: простые, составные, числа Фибоначчи и многие другие. Школьник Василий решил придумать свои числа, чтобы остаться на страницах истории. Как говорится, своё всегда является лучшим, поэтому Василий, недолго думая, назвал свои числа хорошими. Под его определение хорошего числа подходят все числа, большие девяти, для которых выполняются следующие условия:
1. Если пронумеровать позиции цифр в числе справа налево, начиная с 1 (то есть в числа 42 двойка будет на первой позиции, а четвёрка на второй), то суммы цифр на чётных и нечётных позициях будут отличны от нуля.
2. Сумма цифр, стоящих на чётных позициях, делится на сумму цифр, стоящих на нечётных позициях.
Теперь Василий хочет проверить, является ли некоторое число N хорошим.
Входные данные
Первая строка входного файла содержит одно целое число N (1 ≤ N ≤ 10100) – число, интересующее Василия. Гарантируется, что для всех чисел, поступающих на вход, выполнено условие 1.
Выходные данные
Если введённое число хорошее, то выведите "Yes" без кавычек и (через одиночный пробел) частное от деления суммы цифр, стоящих на чётных позициях, на сумму цифр, стоящих на нечётных позициях, в противном случае выведите "No" (также без кавычек) и остаток от деления.


Подскажите, хотябы сам ход решения, без всякий begin, program и т.д


Информатика (39 баллов) | 43 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Самый простой вариант - подсчитать сумму четных и нечётных через цикл, в котором берём остатки от деления. Можно начать с конца и соответственно начать подсчитывать сумму только от первого числа с конца не равного 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;

(488 баллов)
0

Мне на фри паскале сделать надо

0

if i div 2 = 1 then

0

Нет не div - mod

0

if i mod 2=1 then

0

Я изменил ответ. Как - то так.

0

Так найдём сумму чётных и нечётных.

0

Ну, а как тогда проверить что число хорошее или нет

0

Как проверить остаток от деления?

0

Короче, ладно, не сделаю это, слишком сложно для меня

0

Остаток от деления суммы чётных на нечётных a mod B в хорошем числе равен 0