私は簡単な数学的な課題を解決していますが、私はいくつかの問題に直面しています。私は再帰関数を書いていますが、電卓と同じ結果は得られません。例えば、n = 2、a = 2。誰か助けてくれますか?再帰的数式を解決できません
タスク:ここ
1/a + 1/(a+1) +...+ 1/(a(a+1)...(a+n))
は、これまでの私のコードです:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _02__Part_A_
{
class Program
{
float res = 1;
public float func3(int n, int a)
{
if (n == 0)
return 1/(a * res);
res = res * (a + n);
n--;
return func3(n, a);
}
static void Main(string[] args)
{
Program a = new Program();
float resOFfunc3 = (float)0.5;
string n = Console.ReadLine();
string ak = Console.ReadLine();
for (int nn = int.Parse(n); nn > 0; nn--)
{
resOFfunc3 += a.func3(nn, int.Parse(ak));
}
Console.WriteLine(resOFfunc3.ToString());
}
}
}
「1/a + 1/a(a + 1)+ ... + 1 /(a(a + 1)...(a + n))」ではないでしょうか?関数の2番目の部分を見てください。 – MarcinJuraszek
あなたの名前空間が与えられているので、これは宿題であると仮定しています。 –
float res = 1;これはforループの中でa.func3を呼び出す前にリセットする必要があります – Dampsquid