C++ İle Faktöriyel Hesaplama Sorunu
-
Arkadaşlar C++ öğrenme aşamasındayım faktöriyel hesaplayan bir program yazdım fakat 34 ve üzerini hesaplamıyor sonucu 0 gösteriyor. sayı çok büyük oluyor ondan hesaplamıyor derseni< internette faktöriyel hesaplayan sitelere giriyorum sayı ne kadar büyük olsa bile rahat şekilde hesaplanabiliyor.
Kod bu:
#include <iostream>
using namespace std;
int f(int a){
int carpim = 1;
for(int i = a;i>0;i--){
carpim *= i;
} return carpim;
}
int main(){
int n;
z :
cout << "Faktroliyeli Hesaplanacak Sayi Giriniz:";
cin >> n;
cout << (long double)f(n) << endl;
goto z;
return 0;
}
-
bu method ile maksimum unsigned long long (işaretsiz 64-bit tam sayı) elde edebilirsin.
https://docs.microsoft.com/tr-tr/cpp/c-language/cpp-integer-limits?view=msvc-160
Burada da farklı bir method ile büyük sayıların hesaplanmasından bahsedilmiş.
https://www.tutorialspoint.com/Factorial-of-a-large-number
-
Veri tiplerinin belirli aralıkları verdır hocam