计算一个数为两个素数之和

简介: 【10月更文挑战第26天】计算一个数为两个素数之和。

计算一个数为两个素数之和。

实例

include

int checkPrime(int n);
int main()
{
int n, i, flag = 0;

printf("输入正整数: ");
scanf("%d", &n);

for(i = 2; i <= n/2; ++i)
{
    // 检测判断
    if (checkPrime(i) == 1)
    {
        if (checkPrime(n-i) == 1)
        {
            printf("%d = %d + %d\n", n, i, n - i);
            flag = 1;
        }

    }
}

if (flag == 0)
    printf("%d 不能分解为两个素数。", n);

return 0;

}

// 判断素数
int checkPrime(int n)
{
int i, isPrime = 1;

for(i = 2; i <= n/2; ++i)
{
    if(n % i == 0)
    {
        isPrime = 0;
        break;
    }  
}

return isPrime;

}

输出结果为:

输入正整数: 34
34 = 3 + 31
34 = 5 + 29
34 = 11 + 23
34 = 17 + 17

目录
相关文章
|
7月前
|
算法
给定两个数,求这两个数的最大公约数
给定两个数,求这两个数的最大公约数
|
7月前
|
人工智能 Java C++
计算逆序对数
计算逆序对数
43 0
|
1月前
|
C语言
计算一个数的 n 次方
【10月更文挑战第23天】计算一个数的 n 次方。
35 3
|
7月前
|
存储
1013 数素数
1013 数素数
45 0
1013 数素数
|
7月前
求十个数的乘积
求十个数的乘积
36 0
判断10-105之间有多少个素数,并输出所有素数。【素数又称为质数,定义为在大于1的 自然数中,除了1和它本身以外不再有其他因数的数
判断10-105之间有多少个素数,并输出所有素数。【素数又称为质数,定义为在大于1的 自然数中,除了1和它本身以外不再有其他因数的数
108 0
|
机器学习/深度学习
1170:计算2的N次方
1170:计算2的N次方
141 0
计算 100 以内的偶数累加和
计算 100 以内的偶数累加和
54 0
分解质因数---输出一个数的所有质数因子
分解质因数---输出一个数的所有质数因子
153 0
076.计算高次方数的尾数
076.计算高次方数的尾数
130 0