社区
C语言
帖子详情
求大数阶乘代码
xuchaoroger
2003-08-30 10:27:49
求大数阶乘代码
...全文
53
2
打赏
收藏
求大数阶乘代码
求大数阶乘代码
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
idontlikenickname
2003-08-30
打赏
举报
回复
// 另外一个.
#include <stdio.h>
void main()
{
int data[40];
int digit;
int i,j,r,k;
int n;
for(i=1;i<=40;i++) /* 将数组初始值设为0 */
data[i]=0;
data[0]=1;
data[1]=1;
digit=1;
printf("Enter a number what you want to calculus : ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=digit;j++) /* 每位上等乘上阶数 digit 决定有几位*/
data[j]*=i;
for(j=1;j<=digit;j++)
{
if(data[j]>10)
{
for(r=1;r<=digit;r++)
{
if(data[digit]>10)
digit++;
data[r+1]+=data[r]/10;
data[r]=data[r]%10;
}
}
}
printf("%d!=",i);
for(k=digit;k>0;k--)
printf("%d",data[k]);
printf("\n");
}
getch();
}
idontlikenickname
2003-08-30
打赏
举报
回复
// 3000!得结果超出了电脑能显示得范围,所以最好采用数组来记录每位
#include <ctype.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXN 0X7000
int a[MAXN];
int main(int argc,char *argv[])
{
int n,m,i,j,c,t;
printf("Enter n(n>=2) :");
while(1)
{
scanf("%d",&n);
if(n>=2&&n<=3276) break;
printf("must be 2<=n<=3276");
}
a[0]=1; m=1;
for(i=2;i<=n;i++)
{
for(c=0,j=0;j<m;j++)
{
t=a[j]*i+c;
a[j]=t%10;
c=t/10;
}
while(c)
{
a[m++]=c%10;
c/=10;
}
}
printf("%d!=\n",n);
for(i=m-1;i>=0;i--) putchar(a[i]+0x30);
printf("\npress any key to continue .\n");
getch();
return 0;
}
大数
相乘
大数
相加
大数
阶乘
代码
大数
相乘
大数
相加
大数
阶乘
代码
完全解决
代码
简易 容易理解 有什么缺点欢迎评论 交流
大数
阶乘
(用单链表实现
大数
阶乘
)
数据结构算法与应用
代码
,
大数
阶乘
,通过单链表实现
大数
阶乘
,对比较的书进行
阶乘
运算,主要是通过单链表实现
C++版本
大数
阶乘
原理讲解及
代码
实现
C++版本
大数
阶乘
原理讲解及
代码
实现
vc++
大数
阶乘
代码
数据结构实习,关于线性表的应用,
大数
阶乘
大数
阶乘
C++
代码
大数
阶乘
如1000!无数据类型可以表示,用链表实现
大数
阶乘
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章