Использование признака делимости на 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.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.75 из 5
Похожие ответы