C#で再帰メソッドに問題があります。コンパイルすると、指定されたintの総数の合計sumUpTooが表示されます。つまり、 - 入力10 - 出力55(10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 0)cで再帰メソッドに問題がある#
私はどこにでも情報を見つけることができないので、誰かが私にそれを通過する方法を教えることができるウェブサイトへのリンクを持っているなら、非常に感謝します。
class Program
{
static void Main(string[] args)
{
public static int sum(int x)
{
Console.WriteLine("num");
x = Console.ReadLine();
int sum = 0, i = 0;
for (i = 0; i <= x; i++)
{
sum = sum + i;
}
Console.WriteLine("{0}", sum);
}
public static int recursivesum(int x)
{
if (x <= 1)
Console.WriteLine("{0}", x);
else
(x + Recursivesum(x - 1));
}
編集*これは誤解されていない場合、調整が現在行われているようです。おかげですべての助けを
class Program
{
static void Main(string[] args)
{
int x;
Console.Write("Please enter an integer value to sum up to: ");
x = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("The sum of all numbers up to and including {0} is {1}",x, recursivesum(x));
}
public static int sum(int x)
{
int sum = 0, i = 0;
for (i = 0; i <= x; i++)
{
sum = sum + i;
}
return sum;
}
public static int recursivesum(int x)
{
if (x <= 1)
return x;
else
return x + recursivesum(x-1);
}
}
}
はhttp://stackoverflow.com/questions/9831790/having-trouble-withを参照してください。 -recursive-methods-in-c-sharp;) –
実際に*コンパイル*するコードを投稿してください - 現在あなたのメソッドは再帰呼び出しと呼ばれていますが、再帰呼び出しとしています。あなたの 'メイン'で。 –
これは今でも出力されているものを教えてくれます。 –