作业帮 > 综合 > 作业

c语言程序题求助求x+y≤21(x,y为素数)的所有可能解.要求:已知x、y均为质数,编写程序输出x+y≤21的所有可能

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/08 12:56:55
c语言程序题求助
求x+y≤21(x,y为素数)的所有可能解.
要求:
已知x、y均为质数,编写程序输出x+y≤21的所有可能解.
要求:
编写自定义函数isSuShu(int x),判断x是否为素数;
调用isSuShu函数求x+y≤21的所有可能解.
c语言程序题求助求x+y≤21(x,y为素数)的所有可能解.要求:已知x、y均为质数,编写程序输出x+y≤21的所有可能
#include <stdio.h>
#include <stdlib.h>
int isSuShu(int i)    //判断是否为素数
{
    int n,m;
    m = sqrt(i);
    for(n=2; n<=m; n++)
    {
        if(i%n == 0)
            break;
    }
    if(n>=m+1) return 1;
    else    return 0;
}
int main()
{
    int x,i,k;
    printf("请输入任一大于2的偶数:");
    scanf("%d", &x);
    for(i=2; i<=x/2; i++)
    {
        if(isSuShu(i) == 1)
        {
            k = x-i;
            if(isSuShu(k) == 1)
            {
                printf("\t%d可以为素数%d、%d的和\n", x, i, k);
            }
        }
    }
    return 0;
}
这是我写的“任一大于2的偶数都可表示为两个素数之和”
你再添加个循环2~21内运行就行了.