2016-03-28 3 views
-1

C#プロジェクトオイラープロジェクトオイラーQ#1

我々は3または5の倍数である10以下のすべての自然数を一覧表示する場合は、我々は3を取得し、5、6、9、これらの倍数の和されます23.

出て、その後、私の第二1「5」その後、私は自分のコードを実行すると、私は最初、複数で入力して「3」を1000

以下の3または5の全ての倍数の和を見つけ、オフ "1000"しかし、私の結論には、私の答えは正確に1000の本当の答えの魔女から来ている "233168"私の共同deは下にあり、誰かが何が間違っているかを見ることができるのかどうか不思議です。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace ConsoleApplication1 
{ 
class Program 
{ 
    static void Main(string[] args) 
    { 

     Console.WriteLine("Find the sum of all the multiples of 3 or 5 below 1000."); 
     Console.WriteLine("First Multiple: "); 
     String Mult1 = Console.ReadLine(); 
     Console.WriteLine("Second Multiple:"); 
     String Mult2 = Console.ReadLine(); 
     Console.WriteLine("Out Of:"); 
     String outOfN = Console.ReadLine(); 
     int M1 = Int32.Parse(Mult1); 
     int M2 = Int32.Parse(Mult2); 
     int BN = Int32.Parse(outOfN); 

     int MyResult1 = MyMathFunctions.FindMult(M1,M2, BN); 


     Console.WriteLine("Your Answer is :" + MyResult1); 
     Console.WriteLine("Answer should be: 233168"); 
     //Answer should be 233168 


    } 
    class MyMathFunctions 
    { 

     public static int FindMult(float M1,float M2, float BN) 
     { 
      int tot = 0; 

      for(int i = 1 ; i <= BN; i++) 
       { 
        if((i % M1 == 0) || (i % M2 == 0)) 
         { 
        tot += i; 

          } 

         } 

         return tot; 
     } 
     } 
    } 
} 
+2

<= BNではなく aw04

+0

あなたのコードを適切に字下げしてフォーマットしてください。もしスタックオーバーフローで読めるポストを求めていないのなら、あなた自身と将来のメンテナーのために読めるようにしてください(これは恐らくゲームの問題です。 – Rob

+0

なぜ浮動小数点演算をしていないときに 'float'を使用していますか? – nvoigt

答えて

0

さらに詳しく注意してください。

"1000以下の3または5の倍数の合計を求める。

数字「1000」を含める必要はありません。

+0

助けてくれてありがとう。 – JKXM