时间在哪里853 2022-11-05 10:54 采纳率: 82.4%
浏览 146
已结题

验证哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。例如,6=3+3 8=3+5 要求将6~100之间的偶数都表示为两个素数之和,输出时一行输出五组。为啥输出是这样的

#include<stdio.h>
int prime(int x);
int main()
{
int i,k,m,n,flagm,flagn,count=0;
for(i=3;i<=50;i++)
{
m=1;
do
{
m=m+1;
n=2i-m;
flagm=1;
flagn=1;
if(prime(m)==1)
flagm=0;
break;
if(prime(n)==1)
flagn=0;
}while(flagm
flagn==0);
count++;
printf("%4d=%2d+%2d",2*i,m,n);
if(count%5==0)
printf("\n");
}
printf("\n");

return 0;

}
int prime(int x)
{
int i;
for(i=2;i<x;i++)
if(x%i==0)
break;
if(i==x)
return 1;
return 0;
}

img

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-11-05 11:13
    关注
    #include<stdio.h>
    int prime(int x);
    int main()
    {
        int i,k,n,count=0;
        for(i=3;i<=50;i++)
        {
            for(k=2;k<2*i;k++)
            {
                n = 2*i-k;
                if(prime(k)==1 && prime(n)== 1)
                {
                    count++;
                    printf("%4d=%2d+%2d",2*i,k,n);
                    if(count%5==0)
                        printf("\n");
                    break;
                }
            }
            
        }
        printf("\n");
        system("pause");
        return 0;
    }
    int prime(int x)
    {
        int i;
        for(i=2;i<x;i++)
            if(x%i==0)
                break;
        if(i==x)
            return 1;
        return 0;
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月13日
  • 已采纳回答 11月5日
  • 创建了问题 11月5日

悬赏问题

  • ¥15 hexo+github部署博客
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?