N!(高精度计算)
来源:互联网 发布:苏州大学网络计费系统 编辑:程序博客网 时间:2024/04/30 05:39
实验任务
给出一个数 N,请你计算 N!的值。
数据输入
每个例子第一行只有一个数 N(1<=N<=1000)。
数据输出
对于每个 N,在一行里输出 N!的值。
输入示例
1
2
3
输出示例
1
2
6
解题思路
高精度问题:
其核心思想就是,把计算结果每一位数字保存到一个数组中,例如:
把256保存至数组中,保存结果应该是a[0] =6、a[1] =5、a[2] =2 然后每一位数都分别要和乘数相乘,同时还需要把前一位的进位加上。
参考代码
#include<iostream>#define MAX 10000using namespace std;int main(){ int n,a[MAX]; int i,j,k,count,temp; while(cin>>n){ a[0] = 1; count = 1;//当前结果的位数 for(i=1;i<=n;i++){ k = 0; for(j=0;j<count;j++){ temp = a[j]*i+k; //结果 = a[x] * 乘数 + 进位 a[j] = temp%10; //a[x] = 结果 % 10 k = temp/10; //进位 = 结果 / 10 } while(k){//最后可能还有进位 a[count++] = k%10; k/=10; } } for(i = count-1;i >= 0;i--) cout << a[i]; cout << endl; } return 0;}
0 0
- N!(高精度计算)
- hdu - 1042 - N!(高精度计算)
- HDU 1042 N!(高精度计算阶乘)
- 高精度计算N!
- 高精度计算-n的阶乘
- HDU1042 N! 高精度:计算n!精确值
- 高精度计算,求一个小数的N次方(ACM1001)
- noip1998 高精度计算 (高精度)
- n!(高精度)
- HDU 1042 N!(高精度计算阶乘)
- 用高精度方法计算n! ,并显示n!(阶乘)的值。
- 用高精度方法计算n! ,并显示n!(阶乘)的值。
- 阶乘计算(高精度)
- HDU1002(高精度计算)
- 高精度阶层(高精度计算小试牛刀)
- 高精度计算(附高精度加法程序)
- 高精度m^n(pku3199)
- poj 2389(高精度)N!
- Mongodb释放内存
- Java集合
- JAVA注解
- git常用命令总结
- 1075. Stockbroker Grapevine-- Flody算法
- N!(高精度计算)
- jpa PropertyReferenceException: No property user found for User异常
- C++标准转换运算符reinterpret_cast
- 获取来访用户的ip纯js实
- Spring MVC: how to build a thread-safe Controller
- 使用vs2012调试quick-lua代码
- Castle学习系列(十)---Windsor框架类注册
- Android Context原理与使用的总结
- Java的JDBC原生态学习以及连接池的用法