编程介的小学生 2019-01-01 00:02 采纳率: 20.3%
浏览 832
已采纳

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
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥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