私信TA

用户名:tzu190341116

访问量:979

签 名:

等  级
排  名 9007
经  验 1111
参赛次数 1
文章发表 2
年  龄 0
在职情况 学生
学  校 泰州学院
专  业

  自我简介:

解题思路:
输入一个数,判断该数可以有哪些组成部分。

最为简单的方法是遍历从1到该数的一半( A+B与B+A认为是相同素数对),判断所遍历的两个数是否为素数。

先写一个判断素数的函数,以便遍历中调用。

注意事项:
应注意代码的时空复杂度

如下列代码中可对较小的数进行判断,逐层递进,否则提交后会出现时间超限的情况。
参考代码:

//1199  哥德巴赫曾猜测

#include <stdio.h>


int is_prime(int x)

{

int i;

int isPrime = 1; 

for ( i=2;i<x;i++) {

if ( x % i == 0) {

isPrime = 0; 

}

return isPrime;

}


int main(){

int n,m,i,j=0;

scanf("%d",&n);

for(i=2;i<=n/2;i++){

m=n-i;

if (is_prime(i)==1)

if(is_prime(m)==1)

j+=1;

}

printf("%d",j);

return 0;

}


 

0.0分

0 人评分

  评论区