c语言编程 - 爱问答

(爱问答)

c语言编程

写两个函数prime和goldbach,前者用于判断一个数是否为素数,后者用于验证哥德巴赫猜想:任何不小于4的偶数,都可表示为两个素数之和(如:4=2+2)。

 

要求与提示:

 

1) main函数负责循环提示用户输入一不小于4的偶数num,并验证num是否满足哥德巴赫猜想。若用户的输入不满足要求,则提示错误原因并要求重新输入。要求循环有退出机制。

验证哥德巴赫猜想的方法:main函数调用goldbach函数,并将num作为实参传递。在goldbach函数中将接收到的参数拆分成两个整数,调用prime函数分别判断这两个整数是否是素数,若二者皆为素数,输出num符合哥德巴赫猜想的信息,并退出寻找过程。


程序参考

#include <stdio.h>

#include <math.h>

int prime(int n)

{

    int i, k;

    k = (int)sqrt((double)n); //提高效率

    if(n < 2) //2以下不能是素数

        return 0;

    for(i = 2; i <= k; i++)

        {

            if(n % i == 0)

                return 0;

        }

    return 1;

}

void goldbach(int n)  //哥德巴赫猜想

{

    int i,j;

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

        {

            j=n-i;

            if (prime(i) && prime(j))

                {

                    printf("%d=%d+%d ", n, i, j);

                    return ;

                }

        }

}

int main(void)

{

    int num;

    scanf("%d", &num);

    while(num<4)

        {

            printf("num must >=4 ");

            scanf("%d", &num);

        }

    goldbach(num);

    return 0;

}


相关标签:c语言

下一篇:多条件if函数,只返回第一个结果

上一篇:7.下列程序段的输出是_____

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?