Как посчитать сумму четных чисел
Перейти к содержимому

Как посчитать сумму четных чисел

  • автор:

Найти сумму четных цифр числа

Вводится натуральное число. Найти сумму четных цифр, входящих в его состав.

  • n — исходное число,
  • sum — сумма четных чисел.

Алгоритм решения задачи:

  1. Присвоить переменной sum значение 0.
  2. Пока значение n больше нуля выполнять следующее:
    1. Проверить последнюю цифру числа на четность путем нахождения остатка от деления на 2. (Мы можем делить все число, предварительно не извлекая последнюю цифру, так как при таком делении по-сути проверяется четность последней цифры.)
    2. Если цифра четная, добавить ее к sum . (Цифра извлекается нахождением остатка от деления на 10.)
    3. Избавиться от последней цифры числа путем ее деления нацело на 10.
    var n: longint; sum: integer; begin readln(n); sum := 0; while n > 0 do begin if n mod 2 = 0 then sum := sum + n mod 10; n := n div 10; end; writeln(sum); end.

    Примеры выполнения программы:

    3456 10
    13562 8

    Если требуется посчитать сумму нечетных цифр, то в заголовке условного оператора следует использовать логический знак «не равно». В Паскале обозначается как <> .

    Найти сумму четных чисел в диапазоне от а до b

    Пользователь вводит 2 числа a и b. Нужно найти сумму только четных чисел между ними (и включая их). Не знаю как закончить код и правильный ли он вообще.

    a=int(input("a = ")) b=int(input("b = ")) for i in range(a, b): if i%2==0: ?? print(sum) 

    Отслеживать
    49.3k 17 17 золотых знаков 57 57 серебряных знаков 101 101 бронзовый знак
    задан 14 окт 2022 в 20:27
    31 1 1 золотой знак 1 1 серебряный знак 4 4 бронзовых знака
    А готовую формулу использовать? аль в школе не учили?
    14 окт 2022 в 20:31
    @Akina не учили, иначе зачем мне помощь?)
    14 окт 2022 в 20:32
    @Akina аль это что?
    14 окт 2022 в 20:35

    4 ответа 4

    Сортировка: Сброс на вариант по умолчанию

    Во втором аргументе range нужно указать число на 1 больше, т.к. итоговый диапазон не включает последнее число, т.е. при range(2,8) мы получим набор чисел от 2 до 7.

    После того, как проверилось наше условие на четность, нужно сложить все подходящие числа. Для этого еще перед началом цикла нужно создать нулевую переменную (например, sum_numbers) и потом к ней каждый раз прибавлять каждое подходящее число. Это можно сделать через sum_numbers = sum_numbers + i или наиболее распространенный вариант sum_numbers += i .

    Ниже представлен один из правильных вариантов:

    a=int(input("a = ")) b=int(input("b = ")) sum_numbers = 0 for i in range(a, b + 1): if i % 2 == 0: sum_numbers += i print(sum_numbers) 

    сумма чётных чисел от 2 до 100

    По формуле арифметической прогрессии. Это такая числовая последовательность, в которой разность между последующим и предыдущим членами остается неизменной. Она называется РАЗНОСТЬЮ ПРОГРЕССИИ. Сумма первых n членов арифметической прогрессии выражается формулой S = (a + an)*n/2. Ваша последовательность: 2; 4; 6. есть арифметическая прогрессия с разностью 2. Вы хотите найти сумму первых 50 членов. Вычислим: (2 + 100)*50/2 = 2550. А можно найти так, как нашел маленький Гаусс, впоследствии ставший великим математиком, в детстве: он заметил, что сумма первого и последнего числа равна сумме второго и предпоследнего и так далее. Посчитал число таких пар и нашел ответ: (2 +100) = 102; (4 + 98) = 102; (6 +96) = 102 и так далее. Таких пар будет 25. 102*25 = 2550. Как видите, ответ тот же. Успеха Вам!

    Источник: в школу ходил когда-то

    сложите первое и последнее, второе+предпоследнее. В сумме они дают 100. Таких сотен будет 25. Да еще останется число 50.

    Похожие вопросы

    Как посчитать сумму четных чисел

    В Excel 2003 есть только ЕНЕЧЁТб да и то,если подключена надстройка пакета анализа. Поэтому если не Excel 2007, то без функций пакета анализа для первой строки 1:1 можно так

    количество четных: =СУММПРОИЗВ(ЕЧИСЛО(1:1)*(ОСТАТ(1:1;2)=0))
    количество нечетных: =СУММПРОИЗВ(ЕЧИСЛО(1:1)*(ОСТАТ(1:1;2)<>0))

    сумма четных: =СУММПРОИЗВ(ЕЧИСЛО(1:1)*(ОСТАТ(1:1;2)=0);1:1)
    сумма нечетных: =СУММПРОИЗВ(ЕЧИСЛО(1:1)*(ОСТАТ(1:1;2)<>0);1:1)

    Большое спасибо разобрался, работает, подключил пакет анализа в 2003 что-то не работает функция =ЕЧЁТН(T11:X11)пишет #ЗНАЧ,

    Пользователь
    Сообщений: 34 Регистрация: 01.01.1970
    03.03.2010 17:20:10

    Большое спасибо мне подходит
    =СУММПРОИЗВ(ЕЧИСЛО(T4:X4)*(ОСТАТ(T4:X4;2)=0))
    =СУММПРОИЗВ(ЕЧИСЛО(T4:X4)*(ОСТАТ(T4:X4;2)<>0))

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *