原题链接:http://poj.org/problem?id=1365


题意:

定义:任何一个大于1的自然数N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积N=P1a1P2a2P3a3......Pnan,这里P1<P2<P3......<Pn均为质数,其中指数ai是正整数。这样的分解称为N的标准分解式

告诉你n分解后的结果,底数pi和ei,要你重新分解n-1


分析:

一道裸的唯一分解定理题。

随便瞎几把一写都能A。


代码:

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>
 4 #include<cmath>
 5 #include<cstring>
 6 #include<set>
 7 #include<vector>
 8 #include<queue>
 9 #include<map>
10 #include<list>
11 #include<bitset>
12 #include<string>
13 #include<cctype>
14 #include<cstdlib>
15 #include<sstream>
16
17 using namespace std;
18
19 typedef long long ll;
20 typedef unsigned long long ull;
21 #define inf (0x3f3f3f3f)
22 #define lnf (0x3f3f3f3f3f3f3f3f)
23 #define eps (1e-8)
24 int sgn(double a) {
25     return a < -eps ? -1 : a < eps ? 0 : 1;
26 }
27
28 const int maxn=1<<16;
29 bool vis[maxn];
30 int prime[maxn];
31
32 int Euler_prime() {
33     memset(vis, true, sizeof(vis));
34     int tot = 0;
35     for (int i = 2; i < maxn; i++) {
36         if (vis[i]) prime[tot++] = i;
37         for (int j = 0; j < tot&&prime[j] * i < maxn; j++) {
38             vis[i*prime[j]] = false;
39             if (i%prime[j] == 0) break;
40         }
41     }
42     return tot;
43 }
44 string line;
45
46
47
48 void solve() {
49     int pn=Euler_prime();
50     while(getline(cin,line)){
51         if(line=="0")break;
52         ll sum=1;
53         int p,e;
54         stringstream ss(line);
55         while(ss>>p>>e){
56             for(int i=0;i<e;i++){
57                 sum*=p;
58             }
59         }
60         sum--;
61         for(int i=pn-1;i>=0;i--){
62             if(sum%prime[i]==0){
63                 cout<<prime[i]<<" ";
64                 int e=0;
65                 while(sum%prime[i]==0){
66                     sum/=prime[i];
67                     e++;
68                 }
69                 cout<<e<<" ";
70             }
71             if(sum==1)break;
72         }
73         cout<<endl;
74
75     }
76 }
77
78
79
80 int main() {
81
82 #ifndef ONLINE_JUDGE
83     freopen("in.txt", "r", stdin);
84     //freopen("out.txt", "w", stdout);
85 #endif
86     iostream::sync_with_stdio(false);
87     solve();
88     return 0;
89 }

转载于:https://www.cnblogs.com/tak-fate/p/5910790.html

(数学)POJ - 1365 Prime Land相关推荐

  1. POJ 1365 Prime Land

    题意不好理解啊.. 以下摘自discuss 已知任意一个大于1的数可以表示成一些素数的乘积,即x=p1^e1*p2^e2-- pn^en (pi 为素数,ei 为对应素数的个数),现给你x的表示,要你 ...

  2. UVA516 POJ1365 LA5533 ZOJ1261 Prime Land【欧拉筛法】

    Everybody in the Prime Land is using a prime base number system. In this system, each positive integ ...

  3. POJ 3126 - Prime Path + Python(BFS)

    ()原题链接: # 原题:POJ 3126 - Prime Path | 眈眈探求 # 解题思路:https://blog.csdn.net/LYHVOYAGE/article/details/182 ...

  4. Poj 1811 Prime Test 素数测试 Miller-Rabin 与 整数的因子分解 Pollard rho

    随机化算法,想尝试自己写一下,最后还是变成了抄代码... 代码参考了:POJ 1811 Prime Test(大素数判断和素因子分解) - kuangbin - 博客园 学习链接: Miller-Ra ...

  5. POJ - 3126 - Prime Path(BFS)

    Prime Path POJ - 3126 题意: 给出两个四位素数 a , b.然后从a开始,每次可以改变四位中的一位数字,变成 c,c 可以接着变,直到变成b为止.要求 c 必须是素数.求变换次数 ...

  6. POJ 1811 Prime Test (Rabin-Miller强伪素数测试 和Pollard-rho 因数分解)

    题目链接 Description Given a big integer number, you are required to find out whether it's a prime numbe ...

  7. poj 2395 prime的递归实现

    题目链接:http://poj.org/problem?id=2395 求最小水桶的大小,每到达一个农村就能把水桶补满. 可见是用生成最小树,求最大边. 关于prime个人感觉用递归实现会少一个for ...

  8. POJ 3518 Prime Gap(素数题)

    [题意简述]:输入一个数,假设这个数是素数就输出0,假设不是素数就输出离它近期的两个素数的差值,叫做Prime Gap. [分析]:这题过得非常险.由于我是打的素数表. 由于最大的素数是1299709 ...

  9. POJ 3126 Prime Path(BFS 数字处理)

    意甲冠军  给你两个4位质数a, b  每次你可以改变a个位数,但仍然需要素数的变化  乞讨a有多少次的能力,至少修改成b 基础的bfs  注意数的处理即可了  出队一个数  然后入队全部能够由这个素 ...

最新文章

  1. 服务器网页500错误修复工具,HTTP500错误是什么?如何修复
  2. TensorFlow学习入门
  3. IntelliJ IDEA2017 修改缓存文件的路径(转载:https://www.cnblogs.com/acm-bingzi/p/ideaCachePath.html)
  4. 部署LVS-DR(LVS+Keepalived)群集
  5. php+mysql记事本_一个简单记事本php操作mysql辅助类创建
  6. 资源放送丨《Oracle RAC 集群安装部署》PPT视频
  7. html二维坐标系转换,旋转坐标系 转换工具
  8. C语言课程设计报告(学生成绩管理系统)
  9. js 的常用工具类库
  10. [从零开始学习FPGA编程-5]:快速入门篇 - 操作步骤1 - FPGA工作原理(从硬件资源整合的角度看FPGA编程)
  11. 简单聊聊OpenWrt的UPnP协议
  12. jQuery浮出广告插件带关闭
  13. CIPP非开挖修复技术|UV紫外光与传统水翻CIPP修复对比分析
  14. python网络爬虫——自学笔记1.用requests库爬取图片
  15. 解决 linux(centos7)word转换pdf时,pdf乱码问题
  16. 基于区块链的防护物资捐赠监管系统(三):功能设计
  17. 数学知识—不同数据范围求组合数,例题、思路、代码实现
  18. IDEA快捷键之“跳入接口实现类”
  19. GoEasy与SocketIO实现一对一聊天(浏览器端与浏览器端的即时通信)
  20. 关于bootstrap 对于 IE9 的兼容问题

热门文章

  1. Mac中删除docker镜像
  2. 618啦,你的钱包又被盯上啦!
  3. python学习--max和reduce函数
  4. 人脸识别 —— insightface
  5. Java线上诊断工具:Arthas简单快速学习
  6. 国产剧《恋爱先生》中的科技牛人
  7. 写一个强化学习训练的gym环境
  8. 学大伟业:2019年数学竞赛学习经验分享
  9. 一分钟教会你音频配音乐怎么制作
  10. 如何使用树莓派连接电脑无线网络热点并查看树莓派ip地址