题意:计算n!最后一位不为0的数
解题思路:1*2*3*……*n,每次乘完一个数后,把末尾0去掉,然后模上一个数,这样算出来的数肯定是最后一位不为0的数。。
注意这里模的数不能太小,同时也不能太大,太小可能会影响乘积的效果,譬如可能出现0的情况被之前的模运算给抹掉了,太大就直接溢出了。。。
参考了别人的,模取100000
#include
#include
#include
using namespace std;
int n,m;
int main()
{
while(scanf("%d",&n)!=EOF){
m = 1;
for(int i = 1; i %dn",n,m);
}
return 0;
}
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 28、项目实战:利用 LNMP 实现可道云私有云盘和会话保持
可道云,原名芒果云,是基于Web技术的私有云在线文档管理解决方案.Kod,读音通code,意为“代码,编码”,中文名为“可道” 环境说明 部署规划: 10.0.0.200:Ubuntu20.04,Nginx,php-fpm,kodbox 10.0.0.8:Ce…