Again Prime? No time.
Input: standard input
Output: standard output
Time Limit: 1 second

The problem statement is very easy. Given a
number n you have to determine the largest power
of m, not necessarily prime, that
divides n!.

Input

The input file consists of several
test cases. The first line in the file is the number of cases to handle. The
following lines are the cases each of which contains two integers m
(1<m<5000)
and n
(0<n<10000)
. The integers are separated by an space. There
will be no invalid cases given and there are not more
that500 test cases.

Output

For each case in the input, print
the case number and result in separate lines. The result is either an integer
if m divides n! or a line
"Impossible to divide" (without the quotes). Check the
sample input and output format.

Sample
Input

2
2 10
2
100

Sample
Output

Case 1:
8
Case 2:
97

题意:求N!%M^k==0;最大的k;

思路:先算M的质因子m,并保存质因子的个数,从N开始递减到N/m,计算每个质因子在N!中出现的次数,取最小。

一开始我的思路是取最大的质因子,然后发现错了,然后想是质因子*个数最大的那个,然后想了下40,100就不对了。所以就把所有的质因子都算了一次。(本来以为会超时。。。结果142ms过。o(︶︿︶)o
唉)

转载请注明出处:寻找&星空の孩子

题目连接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=77956#problem/E

 #include<stdio.h>
#include<string.h>
#define LL long long
/*
bool prime(int x)
{
for(int i=2;i*i<=x;i++)
{
if(!(x%i)) return 0;
}
return 1;
}*/
LL a[];
inline void Maxprime(LL x)
{
LL t=,k=;
for(LL i=; i<=x; i++)
{
while(x%i==)
{
t=i;
a[i]++;
x/=i;
}
}
if(t==)
{
a[x]=;
}
}
inline LL Ssum(LL x)
{
return (x*(x+))/;
}
LL Sumprime(LL x,LL mod)
{
LL t=;
while(x)
{
if(x%mod==) t++,x/=mod;
else return t;
}
return ;
} int main()
{
LL n,m,T,caseT=;
scanf("%lld",&T);
while(caseT<=T)
{
memset(a,,sizeof(a));
// memset(b,0,sizeof(b));
scanf("%lld%lld",&m,&n);
LL mod;
Maxprime(m);
/* if(mod!=m)
{
LL tt=0;
for(LL i=2;i<n;i++)
{
if(tt<i*a[i])
{
tt=i*a[i];
mod=i;
}
}
}*/
// printf("mod=%d\n",mod); LL sum,minsum=;
for(LL j=; j<=m; j++)
{ if(!a[j]) continue;
sum=;
for(LL i=n; i>n/j; i--)
{
LL tmp=Sumprime(i,j);
if(tmp) sum+=Ssum(tmp);
}
if(minsum>sum/a[j]) minsum=sum/a[j];
}
printf("Case %lld:\n",caseT++);
if(!sum) printf("Impossible to divide\n");
else printf("%lld\n",minsum);
}
return ;
}

Again Prime? No Time.(uva10870+数论)的更多相关文章

  1. UVA10140 Prime Distance【素数/数论】By cellur925

    题目传送门 我们注意到,L,R是肥肠大的.........我们不可能在1s内筛出2^31内的全部质数. “上帝为你关上一扇门,同时为你打开一扇窗” 我们又注意到,R-L是肥肠比较小的,珂以从这入手解决 ...

  2. 【HDU】2866:Special Prime【数论】

    Special Prime Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  3. POJ 1365 Prime Land(数论)

    题目链接: 传送门 Prime Land Time Limit: 1000MS     Memory Limit: 10000K Description Everybody in the Prime ...

  4. 数论 - Miller_Rabin素数测试 + pollard_rho算法分解质因数 ---- poj 1811 : Prime Test

    Prime Test Time Limit: 6000MS   Memory Limit: 65536K Total Submissions: 29046   Accepted: 7342 Case ...

  5. 数论 - 素数的运用 --- poj 2689 : Prime Distance

    Prime Distance Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 12512   Accepted: 3340 D ...

  6. UVA 11610 Reverse Prime (数论+树状数组+二分,难题)

    参考链接http://blog.csdn.net/acm_cxlove/article/details/8264290http://blog.csdn.net/w00w12l/article/deta ...

  7. codeforces 680C C. Bear and Prime 100(数论)

    题目链接: C. Bear and Prime 100 time limit per test 1 second memory limit per test 256 megabytes input s ...

  8. 【斐波拉契+数论+同余】【ZOJ3707】Calculate Prime S

    题目大意: S[n] 表示 集合{1,2,3,4,5.......n} 不存在连续元素的子集个数 Prime S 表示S[n]与之前的所有S[i]互质; 问 找到大于第K个PrimeS 能整除X 的第 ...

  9. UVA 10140 - Prime Distance(数论)

    10140 - Prime Distance 题目链接 题意:求[l,r]区间内近期和最远的素数对. 思路:素数打表,打到sqrt(Max)就可以,然后利用大的表去筛素数.因为[l, r]最多100W ...

随机推荐

  1. 《JavaScript 高级程序设计》读书笔记四 变量 作用域 内存

    一   变量(基本类型和引用类型) a.基本类型保存值,保存在栈内存,引用类型保存指针,保存在堆内存: b.所有函数的参数都是按值进行传递的,不管参数是何种类型: c.检测类型 typeof     ...

  2. zookeeper集群配置详细教程

      第一步:环境准备 环境 版本 说明 JDK 1.8 zookeeper运行所需 centos 7 操作系统 需要配置好JDK的环境变量 zookeeper-3.4.9.tar.gz 3.4.9 z ...

  3. web安全Wargame—Natas解题思路(1-26)

    前言: Natas是一个教授服务器端Web安全基础知识的 wargame,通过在每一关寻找Web安全漏洞,来获取通往下一关的秘钥,适合新手入门Web安全. 传送门~ 接下来给大家分享一下,1-20题的 ...

  4. 弹性盒子模型属性之flex-grow

    在学习弹性盒子模型的时候,有几个属性常常让同学们感觉头痛, 不知到最后得到的效果数值到底是怎样计算得来的,那么不要慌,稳住,我们能赢 !!!今天就让我们先来看看flex-grow这个属性 flex-g ...

  5. wordpress背景添加跟随鼠标动态线条特效

    今天看到别人的博客,在鼠标移动背景时会出现线条动态特效 感觉挺有意思的,还有另一种,在背景点击时会跳出字符特意去找了方法,以为需要添加代码的,结果只要安装个插件就可以了,所以说wordpress就是方 ...

  6. 吴恩达机器学习笔记2-代价函数I(cost function)

    我们选择的参数决定了我们得到的直线相对于我们的训练集的准确程度,模型所预测的值与训练集中实际值之间的差距(下图中蓝线所指)就是建模误差(modeling error). 我们的目标便是选择出可以使得建 ...

  7. 第44节:Java当中的JVM

    Java当中JVM 01 在使用控制面板时的实质: Hello.java使用javac,然后变成为Hello.class通过运行java这个命令,在类加载器中(含有加载,验证,准备,解析,初始化,使用 ...

  8. [Postman]调试和日志(10)

    Postman应用程序在我们发布之前会经过广泛的测试和beta版本.也就是说,可能存在应用程序崩溃或出现意外行为的情况.如果您无法   自行解决问题,可以在GitHub跟踪器中提出问题,或者 如果您希 ...

  9. 网管到CEO的10年逆袭之路

    把我个人近一年来讲的技术人员如何成长的鸡汤课整理了出来,送给大家<网管到CEO的10年逆袭之路>

  10. 安卓TabLayout+ViewPager实现切页

    安卓使用TabLayout+ViewPager+Fragment 实现页面切换,可实现左右滑动切换视图界面和点击切换 可自定义菜单栏是在顶部还是在底部 一.实现效果: 二.实现过程: 2.1 一些重要 ...