C language—Goldbach’s conjecture

Question description

The German mathematician Goldbach once guessed that any even number greater than 6 can be decomposed into the sum of two prime numbers (prime pairs). But some even numbers can be decomposed into the sum of multiple pairs of prime numbers, such as: 10=3+7, 10=5+5, that is, 10 can be decomposed into two different pairs of prime numbers.

Input format

Enter any positive even number >6 (<32767)

Output format

Try to find out how many different pairs of prime numbers the given even number can be decomposed into (Note: A+B and B+A are considered to be the same pair of prime numbers)

Sample input

1234

Sample output

25
#include<stdio.h>
#include<math.h>
int isprimer(int n);
int main()
{
    int n,count;
    while(scanf("%d",&n)!=EOF)
    {
        count=0;
        int i;
        for(i=2;i<=n/2;i++)
        {
            if(isprimer(i))
            {
                if(isprimer(n-i)) count++;
            }
        }
        printf("%d\n",count);
    }
    return 0;
}
int isprimer(int n)
{
    if(n<2) return 0;
    else if(n==2) return 1;
    else if(n==3) return 1;
    else
    {
        int j;
        for(j=2;j<=sqrt(n);j++)
            if(n%j==0) break;
        if(j>sqrt(n)) return 1;
        else return 0;
    }
}

Supongo que te gusta

Origin blog.csdn.net/Joy19981127/article/details/135221308
Recomendado
Clasificación