NEFU 118

其实一道公式题:

n!中素数i的幂为:

[n/i]+[n/i^2]+[n/i^3]+[n/i^4]+......

#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;

long long n;

int main(){
	long long two,five; int t;
	scanf("%d",&t);
	while(t--){
		scanf("%lld",&n);
		two=five=0;
		for(long long i=2;i<=n;i*=2)
		two+=(n/i);
		for(long long i=5;i<=n;i*=5)
		five+=(n/i);
		printf("%lld\n",two>five?five:two);
	}
	return 0;
}

  

时间: 2024-08-05 07:52:34

NEFU 118的相关文章

NEFU 118 n!后面有多少个0【数论】

http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=118 求n!后面有多少个0(1<=n<=1000000000),显然,n!肯定存不下. 2*5=10,所以有多少个2*5就有多少个0,所以只须求n!中因子2和因子5的个数.根据结论有 f(2) = [ n / 2 ] + [ n / 4 ] + [ n / 8 ] + -- f(5) = [ n / 5 ] + [ n / 25 ] + [ n / 125 ] + --

数论 - 算数基本定理的运用 --- nefu 118 : n!后面有多少个0

题目链接:http://acm.nefu.edu.cn/JudgeOnline/problemshow.php Mean: 略. analyse: 刚开始想了半天都没想出来,数据这么大,难道是有什么公式? 首先我们要知道一点:n!里面所有的0都是2*5得来的,而且不管怎样2的数量一定是>5的数量,所以我们只需要考虑有多少个5就可. 后面也是看了解题报告才知道有这么一个结论. 这是算数基本定理的一个结论: n!的素因子分解中的素数p的幂为:[n/p]+[n/p^2]+[n/p^3]+... 知道这

NEFU 118 n!后面有多少个0 (n!的素因子幂问题)

n!后面有多少个0 Problem : 118 Time Limit : 1000ms Memory Limit : 65536K description 从输入中读取一个数n,求出n!中末尾0的个数. input 输入有若干行.第一行上有一个整数m,指明接下来的数字的个数.然后是m行,每一行包含一个确定的正整数n,1<=n<=1000000000. output 对输入行中的每一个数据n,输出一行,其内容是n!中末尾0的个数. sample_input 3 3 100 1024 sample

nefu 118 n!后面有多少个0 算数基本定理,素数分解

n!后面有多少个0 Time Limit 1000ms Memory Limit 65536K description 从输入中读取一个数n,求出n!中末尾0的个数. input 输入有若干行.第一行上有一个整数m,指明接下来的数字的个数.然后是m行,每一行包含一个确定的正整数n,1<=n<=1000000000. output 对输入行中的每一个数据n,输出一行,其内容是n!中末尾0的个数. sample_input 3 3 100 1024 sample_output 0 24 253 考

nefu 118 n!后面有多少个0(算数基本定理)

题意:从输入中读取一个数n,求出n!中末尾0的个数. 思路:阶乘后的数很大,不可能直接计算的,对于任意一个正整数,若对其进行因式分解,那么其末尾的0必定可以分解为2*5,在这里,每一个0必然和一个因子5对应,但是注意,一个数的因式分解中的因子5不一定对应着一个0,因为还需要一个2呢,对于n!,在饮食分解中,2的因子个数要大于5的因子个数,所以如果存在一个因子5,那么它必然对应着n!末尾的一个0,本题便变为了 求 因子5的个数,有因为5是素数,所以可以用到算术基本定理的 n!的素数因子分解中的素数

数论及其应用——素数问题

数学是科学的女王,数论是数学的女王——高斯.  然后我再狗尾续个貂——素数是数论的女王. 谈及素数,可以牵扯出很多数学史上的美谈,例如前几天在知乎上看到关于“除去酒色,人类还怎么享受生活”的问题,在一个回答中就举个几个大科学家的例子,其中提到某个钟爱素数的数学家,选择再每月的素数天和妻子同居,一个月刚开始还好,但越到月末素数间隔变大,同居的日子也就变少. 在素数这块小地方,有很多著名的猜想,能证出来一些真的是非常非常的厉害,因为当今世界流传着这样一个传说,集齐七大世界数学难题,便可以召唤神龙,帮

118. Pascal&#39;s Triangle

Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5,Return [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 分析 第k层有k个元素,每层第一个及最后一个元素值为1,对于(k>2)层,第n(n>1 && n < k)个元素A[k][n] = A[k-1][n-1]+A[k-1][n];

C程序设计语言练习题1-18

练习1-18 编写一个程序,删除每个输入行末尾的空格及制表符,并删除完全是空格的行. 代码如下: #include <stdio.h> // 包含标准库的信息. #define MAXLINE 10 // 每行最大字符数为1000个. int getline(char line[], int maxline); int main() // 定义名为main的函数,它不接受参数值. { int len; int i; char line[MAXLINE]; while ((len = getli

leetcode 118 Pascal&#39;s Triangle ----- java

Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5,Return [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 用的比价暴力的方法, 也是最快的. public class Solution { List list = new ArrayList<List<Integer>>(); public