Почему мой код не возвращает сумму, используя цикл while? - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь найти сумму от (1 до n) или заданное число.используя этот код:

        int n;
        int counter = 0;
        int sum = 0;

        Console.Write("Please enter the sum limit number: ");
        n = int.Parse(Console.ReadLine());

        //around here is where code freezes and nothing else happens 
        while(counter <=  n)
        {
            counter = +1;
            sum = sum + counter;
        }

        Console.Write("The sum from 1 - " + n + " =" + sum);

Я знаю, что могу использовать:

        int n;
        int counter = 0;
        int sum = 0;

        Console.Write("Please enter the sum limit number: ");
        n = int.Parse(Console.ReadLine());

        var sum = Enumerable.Range(1, n);

        Console.Write("The sum from 1 - " + n + " =" + sum.Sum());

, но моя следующая задача - только добавить числа, которые делятся на 3 или 5, поэтому япланирую делать:

        if (sum % 3 == 0 | sum % 5 == 0)
        { 
         total = total + sum;
        }

Что не так с моим методом?Кроме того, альтернативные способы сделать это более чем приветствуются!

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

если вы хотите увеличить счетчик, вы должны использовать

counter = counter + 1;

или

counter++;

или

counter += 1;

0 голосов
/ 25 октября 2018

Чтобы выйти из цикла while, условие должно удовлетворяться. Прежде всего вам необходим счетчик приращения, присутствующий в цикле while.

Чтобы увеличить переменную счетчика, вы можете попробовать counter++/++counter, то есть оператор пост / преинкремента или выможно сделать counter += 1/ counter = counter + 1.

Что-то похожее на

    //around here is where code freezes and nothing else happens 
    while(counter <=  n)
    {
        counter += 1;  // not counter=+1;
        sum = sum + counter;
    }

Ссылка: Увеличение приращения в C #

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...