hdu 1124 Factorial(数论:推理)
来源:互联网 发布:中软数据库面试 编辑:程序博客网 时间:2024/06/04 17:46
求N!末尾有多少个0,首先想到0出现的条件,因为10的因子有(2,5) (1,10)
所以出现0,必须为5和一个偶数相乘或者10的整数倍和任意一个数相乘
而10的整数倍又可以看做5和一个偶数相乘的结果
因为一个数中偶数一定比5多,因此判断一个数中含有多少个5即可!
那么只是简单除以5对不对呢?不对!因为数目中可能含有5的阶乘,如25,125
所以要一直除以5直到小于5,而把这个过程中的商加起来,就是所含5的个数!
刚开始的想法就是模拟阶乘求解过程,判断每次相乘后是否为10的倍数,之后再取余数继续下一步
现在想想这样做肯定是错的,因为给出一个1000000000就超时了
代码如下:
#include <stdio.h>int main(void) { int n, T, ans; scanf("%d", &T); while(T--) { scanf("%d", &n); ans = 0; while(n) { n /= 5; ans += n; } printf("%d\n", ans); } return 0;}
0 0
- hdu 1124 Factorial(数论:推理)
- HDU 1124 Factorial(数论)
- HDU 1124 Factorial(数论)
- HDU 1124 Factorial(数论)
- ACM 数论 hdu 1124 Factorial
- HDU 3758 Factorial Simplification 数论
- hdu 2608 0 or 1(数论推理)
- hdu 1014 Uniform Generator(数论推理)
- hdu 1124 Factorial 数论,就是求一个数的阶乘的结果末尾有多少0.
- Factorial hdu 1124
- HDU 1124 Factorial
- HDU 1124 Factorial
- HDU 1124 Factorial
- HDU:1124 Factorial
- hdu 1124 Factorial
- HDU 1124 Factorial
- hdu 1124 Factorial
- HDU 1124 Factorial
- opengl 纹理混合 glBlendFunc
- mini2440 简单按键中断模式驱动程序
- linux 安装phpmyadmin
- 视频分享网站
- 内容更新 2014-08-13
- hdu 1124 Factorial(数论:推理)
- ubuntu 14.04 ibus与fcitx冲突解决
- Android 开发环境搭建
- 【整机测试】手机音频测试
- 全球最杰出的14位程序员
- Android自定义控件(二)组合控件
- Light OJ 1238 - Power Puff Girls
- android ADT4.4.2新版本创建项目时出现appcompat_v7的解决方式
- (华为机试)字符串压缩