2849 - 【验证型】第7章:函数 哥德巴赫猜想

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 2 MB

验证100以内任何一个大于6的偶数均可表示为2个素数之和。编写函数验证这一猜想,要求给定一个6到100的偶数,输出偶数等于两个素数之和的所有情况。

题目输入

1个偶数。

题目输出

偶数=素数1+素数2。(要求:素数1<素数2)可能输出有多行。注意:每行的素数1从上到下的大小顺序是递增的。

输入/输出样例

输入格式

30

输出格式

30=7+23
30=11+19
30=13+17

C语言解答

#include<stdio.h>
int isPrimeNumber(int n) 
{ 
    int i; 
    for(i=2;i<=n/2;i++) 
    { 
       if(n%i==0) 
          return 0; 
    } 
     return 1; 
} 
 
int gotbaha(int n) 
{ 
    int i; 
    for(i=2;i<n;i++) 
    { 
       if(isPrimeNumber(i)&&isPrimeNumber(n-i)&&(i<=n-i)) 
       { 
            printf("%d=%d+%d\n",n,i,n-i); 
       } 
    } 
} 
main() 
{ 
      int n; 
      scanf("%d",&n); 
      gotbaha(n); 
}

C++解答

#include<stdio.h>
int isPrimeNumber(int n) 
{ 
    int i; 
    for(i=2;i<=n/2;i++) 
    { 
       if(n%i==0) 
          return 0; 
    } 
     return 1; 
} 
 
int gotbaha(int n) 
{ 
    int i; 
    for(i=2;i<n;i++) 
    { 
       if(isPrimeNumber(i)&&isPrimeNumber(n-i)&&(i<=n-i)) 
       { 
            printf("%d=%d+%d\n",n,i,n-i); 
       } 
    } 
} 
 
main() 
{ 
      int n; 
      scanf("%d",&n); 
      gotbaha(n); 
}