Как распечатать только окончательную сумму в этой задаче? - PullRequest
0 голосов
/ 04 апреля 2020

Я новичок, пытаюсь решить Project Euler, задача 1 : «Если мы перечислим все натуральные числа ниже 10, кратные 3 или 5, мы получим 3, 5, 6 и 9. Сумма этих кратных чисел равна 23.

Найдите сумму всех кратных 3 или 5 ниже 1000. ", но вы, вероятно, знаете эту проблему. Таким образом, я получаю правильный ответ, но моя программа перечисляет все суммы до окончательной суммы. Но как мне распечатать итоговую сумму?

int x = 0;
        for (int i = 1; i < 1000; i ++)
        {
            if (i % 3 == 0 || i % 5 == 0)
            {
                Console.WriteLine(x += i);

Ответы [ 5 ]

1 голос
/ 04 апреля 2020

У вас есть Console.WriteLine внутри al oop, поэтому каждый раз, когда if имеет значение true, будет производиться распечатка на консоль. Переместите Console.WriteLine так, чтобы он находился за пределами l oop

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

0 голосов
/ 04 апреля 2020

Вам не нужно писать каждый раз, когда вы добавляете i в x. Вы можете просто добавить его, а затем распечатать после того, как вы запустили для l oop.

int x = 0;
for (int i = 0; i < 1000; i++)
{
    if (i % 3 == 0 || i % 5 == 0)
    {
        x += i;
    }
}
Console.WriteLine(x);
0 голосов
/ 04 апреля 2020

хороший старт, братан, вы можете просто сделать Console.WriteLine (x) после для l oop

0 голосов
/ 04 апреля 2020

Вы должны держать console.WriteLine () вне 'for' l oop, Ваш код должен go выглядеть следующим образом -

int x=0;
for (int i = 1; i < 1000; i ++){
if (i%3==0 || i%5==0){
x+=i;
}}
console.WriteLine(x);
0 голосов
/ 04 апреля 2020

Если вы хотите напечатать только конечный результат, переместите команду Console.WriteLine из итерации и поместите ее после нее. Таким образом, он будет выполняться только один раз.

int x = 0;
for (int i = 1; i < 1000; i ++)
{
    if (i % 3 == 0 || i % 5 == 0)
    {
        x += i;
    }
}
Console.WriteLine(x);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...