标题:哥德巴赫猜想的c语言
只看楼主
dengzhenyu
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2018-4-22
结帖率:0
已结贴  问题点数:20 回复次数:4 
哥德巴赫猜想的c语言
哥德巴赫猜想是数论和所有数学中最古老、最著名的未解决的问题之一。州:
每一个甚至大于2的整数都可以表示为两个素数的和。
哥德巴赫猜想的实际验证表明,即使低于1e14的数字也可以表示为两个素数的和。
很多时候,有不止一种表示偶数的方法。
例如,18=5+13=7+11,64=3+61=5+59=11+53=17+47=23+41,等等。
现在这个问题是要求你把一个偶数的整数n (2<n<2)分成两个素数。
虽然这个问题的某些范围还没有被严格地证明是哥德巴赫猜想的正确性,但我们仍然希望你能解决它。
如果你发现一个偶数的哥德巴赫猜想是不正确的,那么这个问题将是错误的,但是我们要祝贺你解决了这个困扰人类数百年的数学问题。
输入:
输入的第一行是T,表示情况的个数。
接下来的T行,每一行都是一个不稳定的整数n (2<n<2)。
输出:
输出也是T行,每一行是我们要求的两个数字。
T是大约100。

本题答案不唯一,符合要求的答案均正确
样例输入

1
8
样例输出

3 5
搜索更多相关主题的帖子: 哥德巴赫猜想 表示 偶数 要求 输入 
2018-04-22 14:48
李晨经纪人
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:175
专家分:848
注 册:2018-2-14
得分:7 
应该是说偶数都能拆成两个素数吧。你这(2<n<2)是什么意思?
我写了个n在2-104732之间的
程序代码:
#include<stdio.h>
#include<math.h>
int fun(int n)
{
    int i;
    for(i=2;i<=sqrt(n);++i)
        if(n%i==0)
            break;
    if(i>sqrt(n))
        return 1;
    else
        return 0;
}
int main()
{
    int n,nt=2,t,i,j,k,flag,num=0;
    int a[10000],*p=a;
    scanf("%d",&t);
    while(t--)
    {
        flag=0;
        scanf("%d",&n);
        if(n%2!=0)
        {
            printf("请输入偶数:");
            scanf("%d",&n);
        }
        if(n>nt)
            for(i=nt;i<n;++i)
                if(fun(i))
                {
                    *p++=i;
                    num++;
                }
        nt=n;
        for(j=0;a[j]<=n/2;++j)
        {
            for(k=(num-1)<n?(num-1):n;k>=0;--k)
            {
                if(a[k]==n-a[j])
                {
                    flag=1;
                    break;
                }
                if(a[k]<n-a[j])
                    break;
            }
            if(flag)
                break;
        }
        if(flag)
            printf("%d  %d\n",a[j],a[k]);
        else
            printf("恭喜我吧,哥德巴赫猜想886~~~\n");
    }
    return 0;
}


[此贴子已经被作者于2018-4-23 10:42编辑过]

2018-04-23 10:11
童生
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:205
专家分:455
注 册:2018-3-7
得分:7 
想当年,要是陈景润有一台电脑```
2018-04-23 11:36
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:7 
以下是引用童生在2018-4-23 11:36:13的发言:

想当年,要是陈景润有一台电脑```

据说陈是最接近证明哥德巴赫猜想的人类,不过就算有电脑也说不定呢,这些想想就好了~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2018-04-23 11:38
童生
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:205
专家分:455
注 册:2018-3-7
得分:0 
回复 4楼 九转星河
他没电脑,他要是有电脑,就和李晨经纪人一样解题了
2018-04-23 11:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-486281-1-1.html




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

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