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

验证哥德巴赫猜想的问题

[复制链接]
跳转到指定楼层
#
发表于 2015-8-12 09:30:00 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
5啊哈币
#include <stdio.h>
#include <stdlib.h>
int main()
{
        int k,a,b,i,fa,fb;
    for(k=4;k<=100;k=k+2)
    {
                for(a=2;a<=k/2;a++)
                        {
                                fa=0;
                for(i=2;i<=a-1;i++)
                                        {
                                                if(a%i==0) {fa=1;break;}
                    }
                    if(fa==0)
                    {
                                                b=k-a;
                                                fb=0;
                                                for(i=2;i<=b-1;i++)
                                                {
                                                if(b%i==0) {fb=1;break;}
                                                }
                                                if(fb==0)
                                                {printf("%d=%d+%d\n",k,a,b);break;}
                                               
                    }
            }
    }              
        system("pause");
        return 0;
}
在for的循环过程中举个例及就是
for(k=4;k<=100;k=k+2)
                               {
                               for(a=2;a<=k/2;a++)
这里的k<=100成立后k=k+2=4+2=6
到下面a<=k/2这里的k值是4还是6?


还有for的循环优先顺序   每次for循环时的数值        求大神详解
{:soso_e149:}

18#
 楼主| 发表于 2015-8-14 09:26:49 | 只看该作者
福华 发表于 2015-8-13 21:42
通过编译!混乱的代码真的非常影响阅读和修改,建议使用Tab键对齐代码,上代码最好使用笑脸旁边的这个按 ...

哦  下次对齐
17#
发表于 2015-8-13 21:42:31 | 只看该作者
Dear 发表于 2015-8-13 10:05
这是按照我的理解加的注释    你看以下对不对#include
#include
int main()

通过编译!混乱的代码真的非常影响阅读和修改,建议使用Tab键对齐代码,上代码最好使用笑脸旁边的<>这个按钮,比较清晰美观
16#
 楼主| 发表于 2015-8-13 10:08:15 | 只看该作者
福华 发表于 2015-8-13 10:06
哈O(∩_∩)O~下午帮你看看

                   谢谢
15#
发表于 2015-8-13 10:06:56 | 只看该作者
Dear 发表于 2015-8-13 10:05
这是按照我的理解加的注释    你看以下对不对#include
#include
int main()

哈O(∩_∩)O~下午帮你看看
14#
发表于 2015-8-13 10:05:58 | 只看该作者
Dear 发表于 2015-8-13 09:57
虽然我没看懂  但  谢谢

慢慢来,会懂的
13#
 楼主| 发表于 2015-8-13 10:05:11 | 只看该作者

这是按照我的理解加的注释    你看以下对不对#include <stdio.h>
#include <stdlib.h>
int main()
{
        int k,a,b,i,fa,fb;
    for(k=4;k<=100;k=k+2)//第一次循环k=4 4<=100 成立进入下一循环
    {
                for(a=2;a<=k/2;a++)//a=2 2<=4/2  成立进入下一循环
                        {
                                fa=0;//fa赋值为0
                for(i=2;i<=a-1;i++)//i=2 2<=2-1 不成立 跳出循环
                                        {
                                                if(a%i==0) {fa=1;break;}
                    }
                    if(fa==0)//fa=0成立进入下一循环
                    {
                                                b=k-a;//b=4-2=2  
                                                fb=0;//fb赋值为0
                                                for(i=2;i<=b-1;i++)//i=2 2<=2-1  不成立 跳出循环
                                                {
                                                if(b%i==0) {fb=1;break;}
                                                }
                                                if(fb==0)//如果fb=0   成立  执行下面的输出语句
                                                {printf("%d=%d+%d\n",k,a,b);break;}//4=2+2
                                               
                    }
            }
    }              
        system("pause");
        return 0;
}
12#
 楼主| 发表于 2015-8-13 09:57:28 | 只看该作者

虽然我没看懂  但  谢谢
11#
发表于 2015-8-13 09:54:07 | 只看该作者
Dear 发表于 2015-8-13 09:49
我的意思是为什么k/2就是50      这个k是上面for的k

对啊,不然呢
10#
 楼主| 发表于 2015-8-13 09:49:13 | 只看该作者

我的意思是为什么k/2就是50      这个k是上面for的k<=100再除以2得来的吗?
9#
发表于 2015-8-13 09:36:43 | 只看该作者

a<=2当然符合a<=50这个判断条件
8#
发表于 2015-8-13 09:34:32 | 只看该作者
你的CPU倒是强大,1,0000,0000以内验证一下我的本本跑了30多分钟

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

艰难算完.PNG
7#
 楼主| 发表于 2015-8-13 09:34:16 | 只看该作者

不是a<=k/2吗?  怎么是a<=50 不是a<=2?
6#
发表于 2015-8-13 08:49:21 | 只看该作者
skyhao0830 发表于 2015-8-12 21:31
算完了
1亿以内一共有291400对奇数

奇数????
5#
发表于 2015-8-12 21:31:08 | 只看该作者
福华 发表于 2015-8-12 14:03
何必这么烦琐。。。。
[mw_shl_code=c,true]#include
#include

算完了
1亿以内一共有291400对奇数
地板
发表于 2015-8-12 21:27:43 | 只看该作者
福华 发表于 2015-8-12 14:03
何必这么烦琐。。。。
[mw_shl_code=c,true]#include
#include

大神我拷贝编译了一下,算了下1亿以内的,现在真在运算!
估计得要6~7分钟的运算时间。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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