LightOj 1220 Mysterious Bacteria
题目大意:
给出一个x,求满足x = b^p,p最大是多少?
解题思路:
x可以表示为:x = p1^e1 * p2^e2 * p3^e3 ....... * pn^en。
p = gcd (e1,e2,.......en);
x是负数的时候,p的值不能为偶数,这是坑点之一,还有一个是,题目上说只能用lld,我用的I64d,wa了一下午,想死的冲动都有了,直接上代码,我想静静~~~~~
代码:
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <iostream>
#include <cmath>
using namespace std; #define maxn 100010
int a[maxn], b[maxn];
int k;
void prime ()
{
long long i, j;
for(k=, i=; i<maxn; i++)
{
if (!a[i])
{
b[k ++] = i;
for (j=i*i; j<maxn; j+=i)
a[j] = ;
}
}
//printf ("%d\n", k);
} int gcd (int a, int b)
{
return a%b== ? b : gcd(b, a%b);
} int main ()
{
int t, l = ;
long long n;
prime();
scanf ("%d", &t);
while (t --)
{
int ans = , flag = ;
scanf ("%lld", &n);
if (n < )
{
n = - n;
flag = ;
}
int i = ;
while (b[i] < n && i < k)
{
if (n % b[i] == )
{
int j = ;
while (n % b[i] == )
{
j ++;
n /= b[i];
}
if (ans == )
ans = j;
else
ans = gcd (ans, j);
}
i ++;
}
if (n != )//有一个较大的因子没有筛选出来
ans = ;
if (flag)//n是负数
while (ans % == )
ans /= ; printf ("Case %d: %d\n", l ++, ans);
}
return ;
}
LightOj 1220 Mysterious Bacteria的更多相关文章
- LightOJ 1220 Mysterious Bacteria(唯一分解定理 + 素数筛选)
http://lightoj.com/volume_showproblem.php?problem=1220 Mysterious Bacteria Time Limit:500MS Memo ...
- LightOj 1220 - Mysterious Bacteria (分解质因子x=b^p 中的 x 求最大的 p)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1220 题意:已知 x=bp 中的 x 求最大的 p,其中 x b p 都为整数 x = ...
- LightOJ 1220 Mysterious Bacteria 水题
暴力就行了,找出素因子,正的最多是30,然后负的最多是31(这一点wa了一次) #include <cstdio> #include <iostream> #include & ...
- 毒瘤阅读题 LightOJ - 1220
Mysterious Bacteria LightOJ - 1220 https://vjudge.net/problem/LightOJ-1220 "Each case starts wi ...
- Mysterious Bacteria LightOJ - 1220
题意: 给出一个数x 求 x = bp 的p的最大值 解析: 算术基本定理 分解质因数 任何一个数x都可以表示为 x == p1a1 * p2a2 * ````` * pnan 即 b ...
- 1220 - Mysterious Bacteria--LightOj1220 (gcd)
http://lightoj.com/volume_showproblem.php?problem=1220 题目大意: 给你一个x,求出满足 x=b^p, p最大是几. 分析:x=p1^a1*p2^ ...
- lightoj 1220 唯一分解定理
#include<bits/stdc++.h> using namespace std; #define maxn 1000005 #define ll long long int v[m ...
- LightOJ-1220 Mysterious Bacteria 唯一分解定理 带条件的最大公因数
题目链接:https://cn.vjudge.net/problem/LightOJ-1220 题意 给x=y^p,问p最大多少 注意x可能负数 思路 唯一分解定理,求各素因数指数的GCD 注意负数的 ...
- LightOJ - 1341 Aladdin and the Flying Carpet 唯一分解定理LightOJ 1220Mysterious Bacteria
题意: ttt 组数据,第一个给定飞毯的面积为 sss,第二个是毯子的最短的边的长度大于等于这个数,毯子是矩形但不是正方形. 思路: 求出 sss 的所有因子,因为不可能是矩形,所以可以除以 222, ...
随机推荐
- 【转】JavaScript错误处理和堆栈追踪
原文: https://www.cnblogs.com/caoru/p/6699583.html --------------------------------------------------- ...
- [RxJS] Implement RxJS `switchMap` by Canceling Inner Subscriptions as Values are Passed Through
switchMap is mergeMap that checks for an "inner" subscription. If the "inner" su ...
- Xpath—解决这个问题的良药
何为良药? 因为在XML中存在一些问题和缺陷,针对这些问题就产生了响应的解决方式.如: getElementById方法在解析XML时因为一些原因适不适合的: 首先XML中每一个元素节点不一定有id属 ...
- js性能优化之函数节流(分流函数)
函数节流的原理 比如我们在window.onresize事件中要打印当前浏览器窗口的大小,在我们通过拖拽来改变窗口大小时候,打印窗口大小这个工作1s就运行了10次.而实际上我们只需要2次或者3次. 比 ...
- 鸟哥的Linux私房菜-----13、账号管理
- 一个Exchange 2010 的password不定期弹框的问题处理,希望对大家可以有所帮助。
前期有个客户採用exchange 2010的邮件系统作为他们的邮件平台.有个奇怪的现象就是Exchange 2010 系统会出现不定期"宕机"现象,为何打上引號,就是这个时候仅仅有 ...
- Eclipse中jvm执行库的Access restriction问题的解决方法
今天在写代码的时候遇到了jre system libraries的訪问限制问题,该库是jvm执行的依赖库rt.jar,解决方式例如以下: 步骤: (1)项目右击.出现Build Path.点击进入Ja ...
- POJ 题目1204 Word Puzzles(AC自己主动机,多个方向查询)
Word Puzzles Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 10244 Accepted: 3864 S ...
- create-react-app 使用 webpack 打包压缩失败
问题,正常 npm run build 打包后,发现打包后的文件异常大,有 > 20M 的大小 分析, 1.起初以为是代码本身过大的原因导致的,所以一直在想如何进行代码拆分使得文件能尽可能的小, ...
- rip是典型的距离矢量动态路由协议。Ospf是链路状态型的协议
网络工程师十个常见面试问题-看准网 https://m.kanzhun.com/k-mianshiwenti/1465113.html 两者都属于IGP协议,rip是典型的距离矢量动态路由协议.Osp ...