usaco Factorials
2015-09-18 21:16
288 查看
题目让求N的阶乘的结果的最右面的一位非零整数。
阶乘的方法是模拟,但是每次只保留后面最后一位非零整数和前面的几位。(因为数据范围小)
阶乘的方法是模拟,但是每次只保留后面最后一位非零整数和前面的几位。(因为数据范围小)
/* ID: modengd1 PROG: fact4 LANG: C++ */ #include <iostream> #include <stdio.h> using namespace std; int main() { freopen("fact4.in","r",stdin); freopen("fact4.out","w",stdout); int N; int ans; while(~scanf("%d",&N)) { ans=1; for(N;N>0;N--) { ans*=N; while((ans%10)==0)//去掉后面的最右边第一位非零数字后面的0 { ans/=10; } ans%=100000;//数据比较弱保留4位就够了 } cout<<ans%10<<endl; } return 0; }
相关文章推荐
- MyEclipse 快捷键方法
- TCP/IP协议原理与应用笔记05:TCP/IP协议下的网关
- sql server2008 事务日志满的解决办法
- php输出字体颜色时遇到的小问题
- Map和HashMap
- Ubuntu常用命令
- markdown使用书写
- LeetCode(80)Remove Duplicates from Sorted Array II
- Android图形图像之自定义控件属性(demo:刮刮乐与打码以及图片的缓存)
- General Problem Solving Techniques [Examples]~A
- LeetCode(80)Remove Duplicates from Sorted Array II
- 内存分页机制总结
- hdu5446 Unknown Treasure(Lucas+中国剩余定理)
- HDU 5418 Victor and World (状态压缩dp)
- 数据结构应用实例#栈&单链表#简易计算器
- 放下过去 展望未来
- HDU 4027 Can you answer these queries (有意思的线段树)
- 雨林木风Win10注册表如何修改?Win10注册表权限怎么修改
- List接口和ArrayList类练习
- AutoLayout(自动布局)入门