Использование признака делимости на 7 - QBasic
Формулировка задачи:
Здравствуйте! Нашла на этом форуме решение этой задачи на Паскале, но его не знаю, поэтому прошу помочь решить на Бэйсике. Задача из школьной олимпиады 2011 года.
Однажды Витя Делилкин встретился с такой задачей: ему следовало определить какие из предложенных целых положительных чисел делятся без остатка на семь. Чисел было много, числа были большие… Витя Делилкин сразу принялся за дело. Взял много листов бумаги и принялся делить столбиком.
Давайте поможем Вите решить его задачу быстрее.
Посмотрим, что говориться в Википедии по поводу признаков делимости на 7.
… Для того, чтобы натуральное число делилось на 7 необходимо и достаточно, чтобы алгебраическая сумма чисел, образующих нечётные группы по три цифры (начиная с единиц) взятых со знаком «+» и чётных со знаком «-» делилась на семь (например, число 689255. Первая группа со знаком «+» (255), вторая со знаком «-» (689). Отсюда 255 + (-689) = −434. В свою очередь 434 : 7 = 62). …
Напишите программу, определяющую, сколько из предложенных чисел делятся без остатка на 7.
Решение задачи: «Использование признака делимости на 7»
textual
Листинг программы
- INPUT "enter numbers count: ", n
- FOR i = 1 TO n
- INPUT s$
- IF check(s$) = 0 THEN ans = ans + 1
- NEXT
- PRINT "total: "; ans
- FUNCTION check (s$)
- sumEven = 0
- sumOdd = 0
- curIndexGroup = 0
- FOR i = LEN(s$) TO 1 STEP -3
- curIndexGroup = curIndexGroup + 1
- curSum = VAL(MID$(s$, i - 2, 3))
- IF curIndexGroup MOD 2 = 0 THEN
- sumEven = sumEven + curSum
- ELSE
- sumOdd = sumOdd + curSum
- END IF
- NEXT
- check = ABS(sumOdd - sumEven) MOD 7
- END FUNCTION
Объяснение кода листинга программы
В этом коде пользователь вводит количество чисел для проверки, а затем вводится каждое число. Код проверяет каждое число на делимость на 7, используя функцию check. Функция разбивает каждое число на группы по три цифры и подсчитывает сумму каждой группы. Затем она вычисляет разницу между суммой четных и нечетных групп и берет остаток от деления этой разницы на 7. Если результат равен 0, то число делится на 7 без остатка. В конце выводится общее количество чисел, которые делятся на 7.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д