PDA

نسخه کامل مشاهده نسخه کامل : درخواست الگوریتم N!



diiimah
17-04-2014, 22:26
با سلام دوستان عزیز .
من الگوریتم این برنامه رو میخوام خودم با کمک یکی از دوستان نوشتم البته بیشتر کار دوستمه حالا الگوریتمشو میخوام به صورت فارسیم باشه مسئله ای نیست میخوام درست حسابی بفهمم چی شد.
این برنامه n فاکتوریل رو حساب میکنه n میتونه عدد خیلی بزرگی باشه یه نکته ای که هست اینه که روی سیستم خودم تا 500 فاکتوریل رو بیشتر جواب نداد ولی روی سیستم دوستم تا 2000 جواب داد .

#include<iostream.h>
#include<math.h>
int main(){
const int size=11500;
int a[size]={0};
int b,c=1,carry=0,d;
long r;
double p=0.0;
cout<<"Pleas Enter number : ";
cin>>b;
for(int yt=2;yt<=b;yt++)
p+=log10(yt);
d=(long)p+1;
for(int op=0;op<d;op++){a[op]=0;
}
if(b<0){
cout<<"\n\nError ";
}
if(b>=0){
a[0]=1;
for(int i=1;i<=b;i++){
for(int v=0;v<d;v++){
r=i*a[v]+carry;
a[v]=r;
carry=a[v]/10;
a[v]=r%10;
}
}

for(int w=d-1;w>=0;w--)
cout<<a[w];
}
cout<<endl;
return 0;
}
.من تو این برنامه از ارایه استفاده کردم که عمل ضرب رو شبیه سازی میکنه

diiimah
18-04-2014, 20:37
کسی نبود یه کمکی کنه به ما ؟! :n27: