搜索
查看: 1583|回复: 18
打印 上一主题 下一主题

验证哥德巴赫猜想的问题

[复制链接]
楼主
发表于 2015-8-12 09:30:01 | 显示全部楼层
何必这么烦琐。。。。
[mw_shl_code=c,true]#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int prime(int n)
{
        int i,f=1;
    if(n==2)                        return 1;
    if(n%2==0||n==1)        return 0;
    else
    {
                for(i=3;i<=sqrt(n);i+=2)
        {
                        if(n%i==0)        {f=0;break;}
        }
        if(f==1) return 1;
        if(f==0) return 0;
    }
   
}
int main()
{       
    printf("歌德巴赫猜想:任何一个大于3的偶数都可以写成两个质数的和\n");
        printf("请输入一个偶数然后Enter\n");
        while(1)
    {
                int n,a,b,amount=0;
                scanf("%d",&n);
                for(a=2;a<=n/2;a++)
                {
               
                        if(prime(a))
                        {
                                b=n-a;
                if(prime(b))
                                {
                printf("%d=%d+%d\n",n,a,b);
                                amount++;
                }
                        }
                }   
                printf("总数=%d\n",amount);
                printf("\n");
    }
        system("pause");
        return 0;
}
[/mw_shl_code]
沙发
发表于 2015-8-12 14:00:08 | 显示全部楼层
for(k=4;k<=100;k=k+2)
                               {
                               for(a=2;a<=k/2;a++)
执行顺序是:k=4;k<=100成立;a=2;a<=50成立;执行内循环中的操作;a++;直到a=51跳出内循环;k=6;..........................
板凳
发表于 2015-8-13 08:49:21 | 显示全部楼层
skyhao0830 发表于 2015-8-12 21:31
算完了
1亿以内一共有291400对奇数

奇数????
地板
发表于 2015-8-13 09:34:32 | 显示全部楼层
你的CPU倒是强大,1,0000,0000以内验证一下我的本本跑了30多分钟

艰难算完.PNG (5.87 KB, 下载次数: 13)

艰难算完.PNG
5#
发表于 2015-8-13 09:36:43 | 显示全部楼层

a<=2当然符合a<=50这个判断条件
6#
发表于 2015-8-13 09:54:07 | 显示全部楼层
Dear 发表于 2015-8-13 09:49
我的意思是为什么k/2就是50      这个k是上面for的k

对啊,不然呢
7#
发表于 2015-8-13 10:05:58 | 显示全部楼层
Dear 发表于 2015-8-13 09:57
虽然我没看懂  但  谢谢

慢慢来,会懂的
8#
发表于 2015-8-13 10:06:56 | 显示全部楼层
Dear 发表于 2015-8-13 10:05
这是按照我的理解加的注释    你看以下对不对#include
#include
int main()

哈O(∩_∩)O~下午帮你看看
9#
发表于 2015-8-13 21:42:31 | 显示全部楼层
Dear 发表于 2015-8-13 10:05
这是按照我的理解加的注释    你看以下对不对#include
#include
int main()

通过编译!混乱的代码真的非常影响阅读和修改,建议使用Tab键对齐代码,上代码最好使用笑脸旁边的<>这个按钮,比较清晰美观
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表