找回密码
 立即注册

QQ登录

只需一步,快速开始

帖子
查看: 3714|回复: 0
收起左侧

C语言程序实现将一个数分两个素数之和

[复制链接]
ID:102668 发表于 2016-1-10 23:23 | 显示全部楼层 |阅读模式
  1. #include"stdio.h"
  2. int main(void)
  3. {

  4.     long int n,j,i,k,jl;
  5. printf("Enter n:");
  6. scanf("%ld",&n);   
  7. for(k=2;k<=n/2;++k)       //k等于n一半的原因是为了让前面的和后面的没有重复
  8. {
  9.   i=2;                  //让i从2开始判断k
  10.      while(k%i!=0) i++;   //从n/2之前找一个素数
  11.         if(i>k/2)             //如果i比k/2大则说明已判断完,k为素数
  12.      {
  13.              jl=n-k;         
  14.              j=k;               //让j从k的后在面找避免和前面k中已有值重复
  15.            while(jl%j!=0) j++;   //判断n减去上面素数的结果不是不一个素数
  16.      if(j>jl/2&&n==k+jl)  
  17.       printf("%ld=%d+%ld ",n,k,jl);  
  18.      }
  19. }
  20. return 0;
  21. }
复制代码


回复

举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表