社区
数据结构与算法
帖子详情
如何算n!?n较大。
booming
2003-08-30 11:29:34
如何算n!?n较大。
...全文
32
1
打赏
收藏
如何算n!?n较大。
如何算n!?n较大。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Xcoder
2003-08-31
打赏
举报
回复
#include <stdio.h>
#include <math.h>
void main(){
long int a[10000];
int i,j,l,c,n,m=0,w;
FILE *fp;
printf("\nN=");
scanf("%d",&n);
a[0]=1;
for(i=1;i<=n;i++){
c=0;
for(j=0;j<=m;j++){
a[j]=a[j]*i+c;
c=a[j]/10000;
a[j]=a[j]%10000;
}
if(c>0){
m++;
a[m]=c;
}
}
w=m*4+log10(a[m])+1;
fp=fopen("c:\\windows\\desktop\\jch.txt","w+");
fprintf(fp,"%d!\n%ld",n,a[m]);
for(i=m-1;i>=0;i--){
fprintf(fp,"%4.4ld",a[i]);
}
fprintf(fp,"\n%d",w);
}
计
算
n!
1)当n规模
较大
时
算
法设计要点:模拟整数竖式乘运
算
实施精确计
算
。 通过常用对数累加和s=lg2+lg3+lg4+......+lgn确定n!的位数m=s+1,即a数组元素的个数。 设置2重循环,模拟整数竖式乘法实施各数组元素的累乘: ...
求n!(n的阶乘)和1!+2!+....n! (阶乘求和) ----C语言实现
算
法思想:首先要清楚阶乘定义,所谓 n 的阶乘,就是从 1 开始乘以比前一个数大 1 的数,一直乘到 n,用公式表示就是:1×2×3×4×…×(n-2)×(n-1)×n=n! 具体的操作:利用循环解决问题,设循环变量为 i,初值为 1...
输入一个正整数n,输出n!的值。
输入一个正整数n,输出n!的值。 其中n!=123*…*n。
算
法描述 n!可能很大,而计
算
机能表示的整数范围有限,需要使用高精度计
算
的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推...
计
算
S=1!+2!+3!+........+n!的末6位(不含前导0)
计
算
S=1!+2!+3!+…+n!...第一次的想法:仅适用于数字较小,当数据
较大
时就会乘法溢出 比如输出100的时候就不行了 #include<iostream> using namespace std; int main() { int n; cin>...
C语言编程:求n的阶乘问题。输入一个正整数n,输出n!
/*求阶乘问题。 输入一个正整数n,输出n!*/#include <stdio.h> //编译预处理命令int factorial(int n); //函数声明int main(int argc, char const *argv[]) //主函数 { int n;
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章