Использование признака делимости на 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д