Ben dizi saymaya çalışıyorum: 1/2 + 1/3 + 1/4 + 1/5 + ...
Ama benim çıkışı ile sorun vardı:Temel C++ Özyineleme
takın kaç serisi numaralı sayılır: 3 // ben girişi 3
Toplam = 1 // Bu, çıkış gösterilen gereken bir sorundur = 1,8333
Programım
#include <iostream>
#include <math.h>
using namespace std;
int recursion (int n);
int main()
{
int n;
cout << "Insert how many number will be counted : ";cin >> n;
cout << "Total = " << recursion(n);
}
int recursion (int a)
{
int result;
if (a >= 1)
{
result = 1;
}
else
{
result = (pow (a , -1) + recursion (pow ((a - 1) , -1)));
}
return (result);
}
kodunuz sadece int's, bunun nasıl bir kayan nokta numarası yazdırmasını beklersiniz? – user463035818
yerine 'double' veya' float' kullanın. Sorunuzun özümsemeyle ilgisi olmadığını söylemenin bir yolu, ona bakmaktır ve sorununun yineleme ile ilgisi olmadığını kontrol etmektir. * (Alternatif olarak, özyinelemeyi içermeyen basit bir örnek alın ve hesaplama sonuçlarınızın hala tamsayı olduğunu görün.) * – HostileFork
Neden bu kadar özyinelemeli? – Transcendental