NWU CCCC选拔赛 1014阶乘问题(思维题)
2016-07-07 21:58
225 查看
阶乘问题
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 21 Accepted Submission(s) : 4
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
N的阶乘写作N!,表示小于等于N的所有正整数的乘积。 阶乘会变大得很快,如13!就必须用32位整数类型来存储,到了70!即使用浮点数也存不下了。 你的任务是找到阶乘最前面的非零位。举两个例子:5!=1*2*3*4*5=120,所以5!的最靠前的非零位是2。
7!=1*2*3*4*5*6*7=5040,所以最靠前的非零位是4。
Input
循环输入多组数据。每组数据一个整数N(n<=4220)。
Output
每组数据输出N!最靠后的非零位。
Sample Input
7
Sample Output
4
思路:看代码应该明白的,不多讲了。体会体会
#include <iostream> using namespace std; int main() { int n; while(cin>>n){ long long ans = 1; for(long long i = 1;i <= n;i ++){ ans *= i; while(ans%10 == 0) ans /= 10; ans = ans%10000; } cout<<ans%10<<endl; } return 0; }
相关文章推荐
- Hadoop Archives 小数据处理
- Clang编译时的问题汇总
- java.lang.NoClassDefFoundError: org/activiti/bpmn/model/StartEvent
- 中山培训第三题(未解决)
- struts2.5动态方法绑定问题
- Seekbar使用
- 内联函数总结
- FinTech-Blockchain区块链
- C/C++预编译指令总结
- 算法竞赛入门经典学习笔记(1)
- SQL Server游标的使用【转】
- centos安装php扩展soap实现webservice
- 安卓三种解析json数据的优缺点
- C/C++中sizeof()函数的用法
- MySQL存储引擎的区别
- Android中的动态加载
- Qt---网页浏览,文件下载
- Dism 错误 15010
- ACM课程总结报告
- C++析构函数