唯一分解定理 poj 1365
一行代表一个数 x 给你底数和指数
求x-1的唯一分解定理的底数和指数 从大到小输出
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<vector>
#include<math.h> using namespace std;
#define MAXN 100010
double z[MAXN],x[MAXN];
bool pri[MAXN];
int p[MAXN];
int di[MAXN],zhi[MAXN]; int main()
{
memset(pri,,sizeof(pri)); for(int i=;i<=;i++)
{
if(!pri[i])
for(int j=i*i;j<=;j=j+i)
pri[j]=;
}
int ans=;
for(int i=;i<=;i++)
if(!pri[i])
p[ans++]=i; while(scanf("%lf",&z[])!=EOF)
{
if(z[]==)
break;
char s;
scanf("%lf%c",&x[],&s);
int cnt=;
int cnt1=;
memset(di,,sizeof(di));
memset(zhi,,sizeof(zhi)); if(s=='\n')
{
double a=pow(z[],x[]);
long long b=(long long) a;
b--; for(int i=;i<ans;i++)
{
if(b%p[i]==)
{
while(b%p[i]==)
{
b=b/p[i];
zhi[cnt1]++;
}
di[cnt1++]=p[i];
}
}
if(b>)
{
di[cnt1]=b;
zhi[cnt1++]=;
}
for(int i=cnt1-;i>;i--)
printf("%d %d ",di[i],zhi[i]);
printf("%d %d\n",di[],zhi[]);
}
else
{
double a=pow(z[],x[]);
while(scanf("%lf%lf%c",&z[cnt],&x[cnt],&s))
{
cnt++;
if(s=='\n')
break;
}
for(int i=;i<cnt;i++)
{
a*=pow(z[i],x[i]);
}
long long b=(long long) a;
b--;
for(int i=;i<ans;i++)
{
if(b%p[i]==)
{
while(b%p[i]==)
{
b=b/p[i];
zhi[cnt1]++;
}
di[cnt1++]=p[i];
}
}
if(b>)
{
di[cnt1]=b;
zhi[cnt1++]=;
}
for(int i=cnt1-;i>;i--)
printf("%d %d ",di[i],zhi[i]);
printf("%d %d\n",di[],zhi[]);
} }
return ;
}
唯一分解定理 poj 1365的更多相关文章
- POJ 1730 Perfect Pth Powers(唯一分解定理)
http://poj.org/problem?id=1730 题意:给出一个n,a=b^p,求出最大p值. 思路: 首先利用唯一分解定理,把n写成若干个素数相乘的形势.接下来对于每个指数求最大公约数, ...
- POJ 1845-Sumdiv(快速幂取模+整数唯一分解定理+约数和公式+同余模公式)
Sumdiv Time Limit:1000MS Memory Limit:30000KB 64bit IO Format:%I64d & %I64u Submit Statu ...
- POJ - 1845 G - Sumdiv (唯一分解定理)
Consider two natural numbers A and B. Let S be the sum of all natural divisors of A^B. Determine S m ...
- POJ 1845 Sumdiv (整数唯一分解定理)
题目链接 Sumdiv Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 25841 Accepted: 6382 Desc ...
- UVA - 10375 Choose and divide[唯一分解定理]
UVA - 10375 Choose and divide Choose and divide Time Limit: 1000MS Memory Limit: 65536K Total Subm ...
- poj2773 —— 二分 + 容斥原理 + 唯一分解定理
题目链接:http://poj.org/problem?id=2773 Happy 2006 Time Limit: 3000MS Memory Limit: 65536K Total Submi ...
- NOIP2009Hankson 的趣味题[唯一分解定理|暴力]
题目描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson.现 在,刚刚放学回家的 Hankson 正在思考一个有趣的问题. 今天在课堂上,老师讲 ...
- uva10375 Choose and Divide(唯一分解定理)
uva10375 Choose and Divide(唯一分解定理) 题意: 已知C(m,n)=m! / (n!*(m-n!)),输入整数p,q,r,s(p>=q,r>=s,p,q,r,s ...
- 1341 - Aladdin and the Flying Carpet ---light oj (唯一分解定理+素数筛选)
http://lightoj.com/volume_showproblem.php?problem=1341 题目大意: 给你矩形的面积(矩形的边长都是正整数),让你求最小的边大于等于b的矩形的个数. ...
随机推荐
- TopCoder SRM 642 Div.2 1000 --二分+BFS
题意: 给你一张图,N个点(0~N-1),m条边,国王要从0到N-1,国王携带一个值,当走到一条边权大于此值的边时,要么不走,要么提升该边的边权,提升k个单位花费k^2块钱,国王就带了B块钱,问能携带 ...
- 嵌入式Linux驱动学习之路(三)u-boot配置分析
u-boot配置流程分析 执行make tiny4412_config后,将会对u-boot进行一些列的配置,以便于后面的编译. 打开顶层目录下的Makefile,查找对于的规则tiny4412_co ...
- hibernate考试题
1.在Hibernate中,以下关于主键生成器说法错误的是(C). A.increment可以用于类型为long.short或byte的主键 long,short,byte都是特殊的int类型 B.i ...
- eclipse无法导入Android工程的现象与解决办法
最近在新导入一个Android工程时遇见了已有工程无法导入的情况.具体的现象就是每次导入时的导入窗口很快消失,而在eclipse的package explorer中却没有增加新导入的工程文件夹,没有其 ...
- 5.Transact-SQL编程
转载于:http://www.cnblogs.com/hoojo/archive/2011/07/19/2110862.html Transact-SQL中的存储过程,非常类似于Java语言中的方法, ...
- Codevs 1506 传话(floyd大法好)。
1506 传话 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 题目描述 Description 一个朋友网络,如果a认识b,那么如果a第 ...
- 快速判断素数 --Rabin-Miller算法
以前我在判断素数上一直只会 sqrt(n) 复杂度的方法和所谓的试除法(预处理出sqrt(n)以内的素数,再用它们来除). (当然筛选法对于判断一个数是否是素数复杂度太高) 现在我发现其实还有一种方法 ...
- K8 系统中省市县数据表的设计可以反映出什么? 通过一个基础业务表的设计品味软件系统的整体架构
1:没有严谨的Id思想,不变化的Id思想,看不见的Id的思想. 2:数据不严谨,没有上下级关系,没有树形结构,ParentId 的思想. 3:表之间的关系都是弱关联,基础数据一修改业务数据就容易乱套. ...
- node基础05:路由基础
1.基础实例 //server.js var http = require("http"); var url = require("url"); var rou ...
- &11,散列表
#1,是什么? 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构.也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度.这个 ...