Nabeel Munir Ответов: 2

C++ программа для вычисления суммы двузначных четных целых чисел


Я должен вычислить сумму двухзначных четных чисел, и я сделал это, но я хочу найти более короткий способ сделать это. Если кто-нибудь может помочь.

Что я уже пробовал:

#include <iostream>
using namespace std;

int main(){
    int counter = 0, sum = 0;
    

   do{
   	
        if(counter != 0 && counter != 2 && counter != 4 &&counter != 6 && counter != 8){
            cout<<"\n" <<counter;
            sum += counter;
        }
    } while ((counter += 2) <= 50);
    cout<<"\n sum of even numbers:"<< sum;
    
    return 0;
}

Peter_in_2780

начните с
int счетчик = 10;
затем выбросьте это "если"

Rick York

Peter_in_2780 находится на правильном пути. Также рассмотрим, каков диапазон двузначных чисел. А разве не бывает таких, кому за 50?

2 Ответов

Рейтинг:
1

Kenneth Haugland

Для этого существует формула, если нет необходимости в цикле for, но вы также можете это сделать (хотя код C# ):

    int num = 50;
    int sum = 0;
    for (int i = 0; i < num+1; i += 2)
        sum += i;

    int sum2 = GetEvenSum(num);
}

static int GetEvenSum(int UpperNumber)
{
    if (UpperNumber % 2 != 0)
         UpperNumber -= 1;

    int HalfLimit = UpperNumber / 2;

    return HalfLimit * (1 + HalfLimit);
}


Rick York

Я думаю, что лучше всего позволить людям самим делать домашнее задание.

Рейтинг:
1

Patrice T

Цитата:
я сделал это, но я хочу найти более короткий способ сделать это.

вы уверены, что 2-значные числа останавливаются на 50 ?

Вы начинаете счетчик с 0, а затем делаете тест для удаления 0, 2, 4, 6, 8.
Вам повезло, что вас не попросили противопоставить 4 цифры четным числам!
Подумайте об этом, какова причина, по которой ваш счетчик начинает ar 0 ?

Вы делаете... хотя цикл немного сложен, почему бы вам не использовать синтаксис, специально созданный для циклов со счетчиками ?

Прочитав об этом, вы можете применить его к вашей проблеме с небольшой адаптацией.
1 + 2 + 3 + 4 + ⋯ - Википедия[^]