5
Answers

Stuck on a simple problem: Find the sum of all the multiples of 3 or 5 below 1000.

Photo of Zu Sung Park

Zu Sung Park

13y
2.4k
1
Hi need some help with the summing of this simple problem. Seems that it doesn't save on the arrays.
Here is the code:

using System;


namespace test
{
    class Program
    {
        static void Main()
        {
            Program p = new Program();
            p.sum(1000);


            Console.ReadLine();
        }


        public void sum (int tal)
        {
            for (int i = 1; i < tal; i++)
            {
                int[] array= new int[1000];
                if (i % 3 == 0 || i % 5 == 0)
                {
                    array[i] += i;
                    Console.WriteLine(array[i]);
                }
            }
        }
    }
}

Can someone give me the guidance to complete this one!?

Best regards,


Answers (5)

0
Photo of Datta Kharad
NA 2.5k 40.9k 13y
Hi
   Declare array outside the for loop and get another variable total for sum...
You can display each number which is meet your condition i,e multiple of 3 or 5 and Lastly display Sum of these numbers. Use this code:-
using System;


namespace test
{
class Program
{
static void Main()
{
Program p = new Program();
p.sum(1000);


Console.ReadLine();
}


public void sum (int tal)
{
long total = 0;
int[] array= new int[1000];  //It does save in Array..(Here your problem get solved)
for (int i = 1; i < tal; i++)
{
if (i % 3 == 0 || i % 5 == 0)
{
array[i] += i;
 total = total + i;
Console.WriteLine(array[i]);
}
}
Console.WriteLine("Sum of multiple 3 or 5 below 1000= "+total);
}
}
}
Accepted
0
Photo of Datta Kharad
NA 2.5k 40.9k 13y
Hi
   If your query resolved then mark as Correct Answer.
0
Photo of Zu Sung Park
NA 5 2.4k 13y
Thank you so much! :) I used this tips since I wanted to use Array.
0
Photo of Zu Sung Park
NA 5 2.4k 13y
Thank you so much! :) Good tips!
0
Photo of Armando Pinto
NA 2 0 13y
Hi.

Looking at your code I'm not sure of what you want to do... 

If you want to get the total sum, you should maybe do something like this:

namespace test
{
  class Program
  {
        static void Main(string[] args)
        {
                long totalSum = Sum(1000);
                Console.WriteLine(string.Format("Total sum: {0}", totalSum));
                Console.ReadLine();
        }

        public static long Sum(int tal)
        {
                long total = 0;
                for (int i = 1; i < tal; i++)
                {
                        if (i % 3 == 0 || i % 5 == 0)
                        {
                                total += i;
                        }
                }

                return total;
        }
   }
}