| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 13147 人关注过本帖
标题:新手求教 验证哥德巴赫猜想
只看楼主 加入收藏
菜鸟成长记11
Rank: 2
等 级:论坛游民
帖 子:22
专家分:21
注 册:2012-12-11
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:9 
新手求教 验证哥德巴赫猜想
任何一个大于6的偶数均可表示为两个素数之和。要求将6到100之间的偶数都表示成两个素数之和,打印时一行打印5组。    请高手指点,谢~~~
搜索更多相关主题的帖子: 打印 哥德巴赫 
2012-12-11 22:50
抽刀断水yj
Rank: 2
来 自:杭州
等 级:论坛游民
帖 子:20
专家分:15
注 册:2012-11-27
收藏
得分:3 
C语言作业吧,别老想着抄,清华版C语言P95页有判断素数的方法,自己改下就行了

主动,自主
2012-12-11 23:03
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:3 
程序代码:
#include <stdio.h>

int get_pm(int[]);

int main(void)
{
    int number[100]={2,3,5};
    int count = 0;
    int i = 0;
    int j = 0;
    int result = 6;
    int hang = 0;

    count = get_pm(number);

    /*用所有索数将六到一百以内的偶数相加*/
    for(i = 0;i<count;i++)
    {
        for(j=0;j<count;j++)
            if(number[i]+number[j] == result)
            {
                if(result >100)
                {
                    printf("\n\n");
                    return 0;
                }

                if((hang%5) == 0)
                printf("\n");
                printf("%d+%d == %d   ",number[i],number[j],result);

                i = j = 0;
                hang++;
                result += 2;
            }
    }

    return 0;
}

int get_pm(int number[])
{
    int count = 50;
    int i = 3;
    int value = 7;
    int j = 0;
    char is_pm = 'y';

    while(--count)
    {
      for(j=0;j<i;j++)
      if((value%number[j]) == 0)
      {
          is_pm = 'n';
          break;
      }

      if(is_pm == 'y')
      number[i++] = value;

        is_pm = 'y';
        value += 2;
    }
    return i;
}

做得我真辛苦啊...还是发发,免得白费了...

I have not failed completely
2012-12-11 23:54
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:3 
#include<stdio.h>
int prime(int a)
{
    int i,count=0;
    for(i=1;i<=a;i++)
    if(a%i==0)    count++;
    if(count<=2)    return 1;
    else    return 0;
}
int main()
{
    int i,j;
    for(i=6;i<=100;i=i+2)
    {
        for(j=3;j<=i/2;j++)
        {
            if(prime(j)&&prime(i-j))
            {
                printf("%3d=%2d+%-4d",i,j,i-j);
                break;
            }
        }
        if((i/2-2)%5==0)
            printf("\n");
    }
    printf("\n");
    return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 小小战士 于 2012-12-12 00:43 编辑 ]

小小战士,战士中的战斗机!
2012-12-12 00:37
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:0 
如果要找到6~100的所有两素数之和为本数,就如下:
#include<stdio.h>
int prime(int a)
{
    int i,count=0;
    for(i=1;i<=a;i++)
    if(a%i==0)    count++;
    if(count<=2)    return 1;
    else    return 0;
}
int main()
{
    int i,j;
    for(i=6;i<=100;i=i+2)
    {
        printf("%3d",i);
        for(j=3;j<=i/2;j++)
        {
            if(prime(j)&&prime(i-j))
            {
                printf("=%2d+%-3d",j,i-j);
            }
        }
        printf("\n");
    }
    printf("\n");
    return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册

小小战士,战士中的战斗机!
2012-12-12 00:52
菜鸟成长记11
Rank: 2
等 级:论坛游民
帖 子:22
专家分:21
注 册:2012-12-11
收藏
得分:0 
回复 2楼 抽刀断水yj
不是作业啦!!!你想多了。作业就不用 到论坛了,是真心想不到怎么做啊
2012-12-12 15:41
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
回复 5楼 小小战士
虽然带入的数大时计算耗时,但是在这里却非常实用,学习了

I have not failed completely
2012-12-12 18:41
菜鸟成长记11
Rank: 2
等 级:论坛游民
帖 子:22
专家分:21
注 册:2012-12-11
收藏
得分:0 
回复 4楼 小小战士
怎么我的就运行错误呢!!!编译时就过不去,我改改吧
2012-12-13 21:44
菜鸟成长记11
Rank: 2
等 级:论坛游民
帖 子:22
专家分:21
注 册:2012-12-11
收藏
得分:0 
回复 8楼 菜鸟成长记11
我的也是错误
2012-12-28 10:09
CUPzsy
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-12-19
收藏
得分:0 
回复 5楼 小小战士
厉害了
2016-12-19 19:39
快速回复:新手求教 验证哥德巴赫猜想
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018860 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved