解题思路: 去掉每一次求解的阶乘后面的0,然后保留非0的后三位即可。不能只保留1位哦。
参考代码:
#include<bits/stdc++.h> using namespace std; int main() { int n,i,p=1; cin>>n; for(i=2;i<=n;i++) { p=p*i; while(p%10==0) //去掉阶乘后面的0 p=p/10; p=p%1000; //取最后三位 } cout<<p%10; //取最后一位作为结果输出 return 0; }
0.0分
0 人评分
人见人爱A+B (C语言代码)浏览:629 |
字符串的输入输出处理 (C语言代码)浏览:945 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:1246 |
母牛的故事 (C语言代码)浏览:716 |
1035 题解浏览:786 |
小九九 (C语言描述,不看要求真坑爹)浏览:985 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:605 |
C语言训练-自守数问题 (C语言代码)浏览:748 |
敲七 (C++代码)浏览:1056 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:508 |