大家帮我写一个C++程序,要求是从1一直乘以到1000,有急用,拜托!

来源:百度知道 编辑:UC知道 时间:2024/06/17 00:32:48

〈个人意见,仅供参考〉
我没学过c++其实也就是求1000!我想c中也一样。基本的思想:就是一楼那样的递推法,或者用函数的递归调用。
下面的方法,是对一楼的补充“溢位voerflow”的解决方法。
1.变通的方法求1000!
#include<math.h>
#include<stdio.h>
int main()
{
long i;
double ln=0;
for(i=1;i<=1000;i++)
ln+=log10(i);
i=(long)ln;ln=pow(10,ln-i);
printf("10000!=%lf*10^%ld\n",ln,i);
return 0;
}
2.如果熟悉数据结构的知识可以用下面的方法解决
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
short mul(short a[],short d,short x)
{
long i,y=0;
for(i=0;i<d;i++)
{
y+=a[i]*(long)x;
a[i]=(short)(y%1000);
y/=1000;
}
a[d]=(short)y;
return d+!!y;
}
void main()
{
long s;
short *a,i,j,n,ws=1;
printf("N=");scanf("%d",&n);
#define Pi 3.14159265358979323846L
s=(long)((log(2*Pi*n)/2+n*(log(n)-1))/log(10)+1);
a=(s