long jc(long n)
{
return n==0?1:n*jc(n-1);
}
main()
{
int n;
scanf("%d",&n);
printf("\n%ld\n",jc(n));
}16以前能算,以后试了几个怎么是负数?我菜高手解释下
----------------解决方案--------------------------------------------------------
#include<stdio.h>
long jc(long n)
{
return n==0?1:n*jc(n-1);
}
main()
{
int n;
scanf("%d",&n);
printf("\n%ld\n",jc(n));
}16以前能算,以后试了几个怎么是负数?我菜高手解释下
数据溢出了
----------------解决方案--------------------------------------------------------
我刚写了个可没数据验证,没敢发(怕误导大家),不管了,你们找东西验证吧
这个只可以计算750多以内的阶乘,当然可以改N的值,算出更大的n!,不过一个屏幕显示不了
[CODE]
#include <stdio.h>
#include <conio.h>
#define N 2000 /*存储每位数字*/
void Mul(int p[],int n)
{
static m=0; /*末尾0的个数*/
int i,j,k=0,d=1;
for(i=m;i<N;i++)
{
p[i]=p[i]*n+k; /*k是上一位的进位数*/
k=p[i]/10;
p[i]=p[i]%10;
if( (p[i]==0) && (d==1) ) /*计算末尾0的个数*/
m++;
else
d=0;
if(k==0)
{
for(j=i+1; (j<N) && (p[j]==0); j++); /*如果未进行计算的各位为0,break;*/
if(j>=N)
break;
}
}
}
void main()
{
int a[N]={0};
int i,n;
scanf("%d",&n);
a[0]=1;
for(i=1;i<=n;i++)
Mul(a,i);
for(i=N-1; (i>=0) && (a[i]==0); i--); /*去掉前导的0*/
for(;i>=0;i--)
printf("%d",a[i]);
getch();
}
[/CODE]
----------------解决方案--------------------------------------------------------
我觉得想要的是下面的
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#include <conio.h>
main()
{
long a,b,i,sum=0;
for(i=2;i<=10;i++)
{
a=1;
b=i;
while(b>1)
{
a*=b*(b-1);
b=b-2;
}
sum+=a;
printf("i=%ld,b=%ld\n",i,a);
}
printf("%ld",sum);
getch();
}
----------------解决方案--------------------------------------------------------
main()
{
int i ,j;
j=1;
for (i=1;i<=10;i++)
j=j*i;
printf("%d",j)
}
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
想要精练啊~~哇哈哈哈哈哈
int main(int i,int j){
for(j=i=1;i<=10;j=j*i++);
return !printf("%d",j);
}
----------------解决方案--------------------------------------------------------
晕,17! 太大了,结果就溢出了
----------------解决方案--------------------------------------------------------
我以前做过这个题目啊,好像没那么复杂吧?你们写的我怎么都看不懂啊!
----------------解决方案--------------------------------------------------------