经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C 语言 » 查看文章
偶数拆分问题
来源:cnblogs  作者:娇憨的波光  时间:2019/4/28 9:04:56  对本文有异议

问题描述:将任意偶数拆分为两个素数之和。

tip:素数:对于任意整数n,如果除1和n外不能被其他数整除,则称n为一个素数。

解决思路:

      一、素数判定:1.对于任意大于1的整数n,用n分别除以2到n-1,如果余数全不为零,则称n为一个素数

             2.对于任意大于1的整数n,用n分别除以2到根号n,如果余数全不为零,则称n为一个素数

      二、设输入的偶数为n,n=a+b 用上述方法判定a、b是否为素数即可。

代码如下:

已在VS2010中编译完成。

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<math.h>
  4. void main()
  5. {
  6. int a,d,flag=0;
  7. float b,c;
  8. loop:
  9. {
  10. printf("请输入一个偶数:\n");
  11. scanf("%d",&a);
  12. }
  13. if(a%2!=0)
  14. goto loop;
  15. for(b=2;b<=a/2;b++)
  16. {
  17. for(d=2;d<=sqrt(b);d++)
  18. if((int)b%d==0)
  19. break;
  20. if (d>sqrt(b))
  21. c=a-b;
  22. else continue;
  23. for(d=2;d<=sqrt(c);d++)
  24. if((int)c%d==0)
  25. break;
  26. if (d>sqrt(c))
  27. {
  28. printf("%d = %d + %d\n",a,(int)b,(int)c);
  29. flag=1;
  30. }
  31. else continue;
  32. }
  33. if((int)flag==0)
  34. printf("不能拆分\n");
  35. system("pause");
  36. }

 

原文链接:http://www.cnblogs.com/Magicbobobo/p/10779468.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号