| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1099 人关注过本帖
标题:阶乘问题
只看楼主 加入收藏
偷着乐
Rank: 1
等 级:新手上路
帖 子:176
专家分:0
注 册:2006-8-16
收藏
得分:0 

如果n很大怎么办呢?比如n=1000


一切都是那么美好!比尼采还想象得深远!比幻觉还真实!
2006-08-18 16:54
ridwsc
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2006-8-10
收藏
得分:0 
如果N=1000,现实吗??

用科学计数法,浮点

中国加油,加油,加油~~~~~ 我行~~我可以~~C
2006-08-18 16:57
偷着乐
Rank: 1
等 级:新手上路
帖 子:176
专家分:0
注 册:2006-8-16
收藏
得分:0 
为什么不现实?难道不能够编出来吗?

一切都是那么美好!比尼采还想象得深远!比幻觉还真实!
2006-08-18 17:48
cwande
Rank: 2
等 级:新手上路
威 望:3
帖 子:333
专家分:0
注 册:2006-8-18
收藏
得分:0 
那就只能用高精度了吧

汗,都懒得写代码了.......... cheat了一个威望,哈.....
2006-08-18 21:07
偷着乐
Rank: 1
等 级:新手上路
帖 子:176
专家分:0
注 册:2006-8-16
收藏
得分:0 

自己编了一个,可以精确的求出1!+2!+...+1000!的值,...其实可以求出任意大数的值的...可惜数组长度有限呀

#include"math.h"
#include"conio.h"
#define N1 10000
int sum[N1],sv[N1];
main()
{int i,j,n;

clrscr();

printf("Please Input n=");
scanf("%d",&n);

for(i=0;i<N1;i++)
{sum[i]=0;sv[i]=0;}
sv[0]=1;

for(i=1;i<=n;i++)
nj(i);


printf("\n1!");
for(j=2;j<=n;j++)
printf("+%d!",j);
printf("=");
for(i=N1-1;i>=0;i--)
if(sum[i]>0) break;
for(j=i;j>=0;j--)
printf("%d",sum[j]);
getch();
}

nj(int n)
{int wz,yxw,i,j,k,dd;
int a[N1];

for(i=0;i<N1;i++)
a[i]=sv[i];

for(j=N1-1;j>=0;j--)
if(a[j]>0) {yxw=j;break;}

dd=0;
for(k=0;k<=yxw;k++)
{wz=a[k]*n+dd;
a[k]=wz%10;
dd=wz/10;
}
while(dd>0)
{a[k++]=dd%10;
dd=dd/10;
}

dd=0;
for(i=0;i<k;i++)
{wz=a[i]+sum[i]+dd;
sum[i]=wz%10;
dd=dd/10;
}
while(dd>0)
{wz=sum[i]+dd;
sum[i]=wz%10;
dd=wz/10;
i++;
}

for(i=0;i<N1;i++)
sv[i]=a[i];
}


一切都是那么美好!比尼采还想象得深远!比幻觉还真实!
2006-08-19 09:23
jiahu0215178
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-8-12
收藏
得分:0 
简单写了个:
#include "stdio.h"
int main(void)
{
int i,n,sum=0;
int rfact(int i);
printf("Input n=");
scanf("%d",&n);
for(i=1;i<=n;i++)
sum=sum+rfact(i);
printf("%d\n",sum);
return 0;
}
int rfact(int k)
{
if(k==0||k==1)return(1);
else return (k*rfact(k-1));
}
2006-08-19 10:30
nicksharp
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-8-4
收藏
得分:0 
如此简单的问题还是希望楼主好好看书去吧
2006-08-19 11:42
快速回复:阶乘问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012270 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved