2019第一个问题，请问用C语言怎么实现素数的这个算法？

Problem Description
Let d(x) be the sum of all divisors of x. x is called a good number if every number from 1 to d(x) can be expressed as a sum of distinct divisors of x.

For example, 6 is a good number, d(6)=1+2+3+6=12, 4=1+3,5=2+3,7=1+6 and so on.

Teacher Mai wants to know whether a even number p can be expressed as a sum of two good numbers.

Input
There are multiple test cases(about 40000).

For each test case, there is only one line contains one even number p(1≤p≤1018).

Most test cases are generated randomly.

Output
For each test case, print "YES" or "NO" in the first line. That means if is possible to express p as a sum of two good numbers.

If your answer is "YES", print two number a,b in the second lines. Both a and b should be good numbers, and a+b=p.

In the third and the fourth line, print the factorization of number a and b. If a=∏ki=1peii, where p1<p2<⋯<pk, pi are all prime numbers and ei≥1, you should print k first, then 2k space-seperated numbers p1,e1,p2,e2,⋯,pk,ek.

Sample Input
18

Sample Output
YES
6 12
2 2 1 3 1
2 2 2 3 1

• 写回答

2条回答默认 最新

• threenewbee 2019-10-04 08:02
关注
本回答被题主选为最佳回答 , 对您是否有帮助呢?
评论

悬赏问题

• ¥30 关于php页面调取、更新数据提交刷新等问题
• ¥50 使用 java+selenium 接管手动打开的IE浏览器
• ¥15 ios 新安装app收不到fcm推送
• ¥15 有没有实力的写手？有过成品的优先
• ¥15 图像信息库的建立与识别
• ¥15 韩国网站购物，KG支付的支付回调如何解决
• ¥15 workstation导入ovf文件，报错，怎么解决呢？
• ¥15 关于#c语言#的问题：构成555单稳态触发器，采用LED指示灯延时时间，对延时时间进行测量并显示（如楼道声控延时灯）需要Proteus仿真图和C语言代码
• ¥15 workstation加载centos进入emergency模式，查看日志报警如图，怎样解决呢？
• ¥50 如何用单纯形法寻优不能精准找不到给定的参数，并联机构误差识别，给定误差有7个？matlab