计算n!的十进制表示最后有多少个0(南阳ACM_84)
来源:互联网 发布:javascript void中文 编辑:程序博客网 时间:2024/05/08 00:15
计算公式
这里先给出其计算公式,后面给出推导过程。
令f(x)表示正整数x末尾所含有的“0”的个数,则有:
当0 < n < 5时,f(n!) = 0;
计算公式原理:点击打开链接
这里先给出其计算公式,后面给出推导过程。
令f(x)表示正整数x末尾所含有的“0”的个数,则有:
当0 < n < 5时,f(n!) = 0;
当n >= 5时,f(n!) = k + f(k!), 其中 k = n / 5(取整)。
import java.util.Scanner;public class _84 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int N=sc.nextInt();do{int zz=0;int M=sc.nextInt();if(M<5){System.out.println(0);continue;}while(M>=5){M=M/5;zz=M+zz;}System.out.println(zz);N--;}while(N>0);sc.close();}}/*public class _84 {static int f(int M){if(M==5)return 1;if(M<5)return 0;int m=M/5;return f(m)+m;}public static void main(String[] args) {Scanner sc=new Scanner(System.in);int N=sc.nextInt();int zz;do{int M=sc.nextInt();zz=f(M);System.out.println(zz);N--;}while(N>0);sc.close();}}/* * http://acm.nyist.net/JudgeOnline/problem.php?pid=84阶乘的0时间限制:3000 ms | 内存限制:65535 KB难度:3描述 计算n!的十进制表示最后有多少个0输入 第一行输入一个整数N表示测试数据的组数(1<=N<=100) 每组测试数据占一行,都只有一个整数M(0<=M<=10000000)输出 输出M的阶乘的十进制表示中最后0的个数 比如5!=120则最后的0的个数为1样例输入 6 3 60 100 1024 23456 8735373样例输出 0 14 24 253 5861 2183837 */
计算公式原理:点击打开链接
0 0
- 计算n!的十进制表示最后有多少个0(南阳ACM_84)
- 计算n!的十进制表示最后有多少个0
- 计算n!的十进制表示最后有多少个0
- 计算N!末尾有多少个0
- 计算N!末尾有多少个0
- 用十进制计算30!(30的阶乘),将结果转化成3进制进行表示的话,该进制下的结果末尾会有多少个0?
- 给定一个整数N,求N!末尾有多少个0?N!的二进制表示中最低1的位置?
- 用最快的速度求N!(n的阶乘)最后有多少个连续的0
- N!的末尾有多少个0?
- 【计算n阶乘后面有多少个0】
- 计算n的阶乘有多少个尾随0(链接)
- 给定一个整数N,那么N的阶乘N!末尾有多少个0呢?求N!的二进制表示中最低位1的位置。
- N的阶乘(N!)中的末尾有多少个0?
- N的阶乘(N!)中的末尾有多少个0
- N的阶乘(N!)中的末尾有多少个0
- N的阶乘(N!)中的末尾有多少个0?
- N的阶乘(N!)中的末尾有多少个0?
- N的阶乘(N!)中的末尾有多少个0?
- React入门笔记(一) — 深入理解JSX
- Android:(ToolBar&Palette)整体根据主题变色
- 数组中重复的数字
- sbt学习
- Thread.interrupt与LockSupport
- 计算n!的十进制表示最后有多少个0(南阳ACM_84)
- ajax文件上传
- 关于修改Android标准WIFI的API
- 设计模式之一 单例设计模式
- 自己动手实现HashMap
- RadioGroup的换行、换行后的均分实现
- 线段树
- Android传感器
- hdu_1536_S-Nim(DFS_SG博弈)