SDUT-1136 C/C++程序训练6---歌德巴赫猜想的证明

本文介绍了一个简单的C语言程序,该程序通过判断素数并利用哥德巴赫猜想来寻找一对素数,使得这对素数之和等于输入的整数n。文章详细解释了判断素数的方法及如何遍历所有可能的素数组合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


Code
#include <stdio.h>
#include <math.h>

int isPrime(int x)
{
    int i;
    for(i=2; i<=sqrt(x); i++)
    {
        if(x % i == 0)
            break;
    }
    if(i > sqrt(x))
        return 1;
    else
        return 0;
}

int main()
{
    int n,i;
    scanf("%d",&n);
    for(i=3; i<n; i++)
    {
        if(isPrime(i) && isPrime(n-i))
        {
            printf("%d=%d+%d\n",n,i,n-i);
            break;
        }
    }
    return 0;
}
反思:前期学习函数时卡得比较久的一道题,其实明白后很简单,写一个判断素数的函数,将n拆成两个数,第一个数从3开始遍历,每次都判断i和n-i是否为素数,如果找到一组素数之和为n就输出,因为只要输出第一个小的素数组,所以跑一遍即可。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值