USACO-Section 3.2 Factorials(模拟)
来源:互联网 发布:淘宝商品代理 编辑:程序博客网 时间:2024/06/06 00:29
此处有目录↑
描述
N的阶乘写作N!,表示小于等于N的所有正整数的乘积。 阶乘会变大得很快,如13!就必须用32位整数类型来存储,到了70!即使用浮点数也存不下了。 你的任务是找到阶乘最前面的非零位。举个例子:
5!=1*2*3*4*5=120,所以5!的最靠前的非零位是1。7!=1*2*3*4*5*6*7=5040,所以最靠前的非零位是5。
格式
(fact4.in)
共一行,一个不大于4,220的正整数N
(fact4.out)
共一行,输出N!最靠后的非零位。
输入样例
7
输出样例
5
代码
首先可以去掉所有的因子5,然后去掉相同个数的因子2,最后将剩余的数乘起来,取末位即可
后来想到如果后面是0直接去掉即可,对剩下的数继续乘,刚开始是对每次结果模10,结果WA了,后来发现模1000才AC,不过感觉仍然是水过的,数据不够大
觉得应该是数字上限是多少位,结果应该取多少位
/*ID: your_id_herePROG: fact4LANG: C++*/#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int n,ans=1;int main() { freopen("fact4.in","r",stdin); freopen("fact4.out","w",stdout); scanf("%d",&n); while(n) { ans*=n; while(ans%10==0) ans/=10; ans=ans%1000;//最开始只取末尾非零位开始的1位,结果143时WA,2位时也WA,3位就能通过 --n; } printf("%d\n",ans%10); return 0;}
0 0
- USACO-Section 3.2 Factorials(模拟)
- USACO Section 3.2 Factorials - 高精度模拟~
- USACO Section 3.2 Factorials
- USACO section 3.2 Factorials(dp)
- USACO-Section 3.2-PROB Factorials
- usaco Chapter 3 section 3.2 Factorials
- USACO / Factorials (简单模拟)
- 【模拟】【USACO】Factorials
- USACO-Section 3.2 Spinning Wheels(模拟)
- USACO 3.2 Factorials
- USACO 3.2.1 Factorials
- USACO 3.2.1 Factorials
- USACO 3.2 Factorials (fact4)
- USACO section 3.2 Spinning Wheels(模拟)
- [USACO Section 1.4] Packing Rectangles (模拟)
- [USACO Section 1.5] Prime Palindromes (模拟)
- USACO-Section 2.3 Controlling Companies(模拟)
- USACO-Section 3.4 Electric Fence (模拟)
- Jenkins+Maven+Git搭建持续集成和自动化部署的配置手记
- POJ-2387 the Cows Come Home
- Flag
- 第三方SDK:RongCloud IMKit实现简单的单人会话
- iTerm 常用命令
- USACO-Section 3.2 Factorials(模拟)
- centos 6.5 搭建php
- WebView中网页点击还在WebView中跳转以及在屏幕上完整显示
- 哈理工oj hrbust 1725 Virus Outbreaking【并查集】
- Python中导入其它模块中的函数
- php简单爬虫使用登录账号密码爬取列表(爬虫二篇)
- 看看图像处理
- 【BZOJ2818】Gcd,数论练习之欧拉筛
- IOS开发学习之OC的消息机制。