C 语言练习范例 84

返回上一级

题目

将一个偶数拆分成 2 个素数之和

程序分析

就是把一个偶数分解成两个素数

程序代码

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 *
 * Copyright © 2015-2065 www.twle.cn. All rights reserved.
 */


#include<stdio.h>
#include<stdlib.h>

int Isprimer(unsigned int n);

int main()
{
    unsigned int n,i;
    do{
        printf("请输入一个偶数:\n");
        scanf("%d",&n);
    }while(n%2!=0);
    for(i=1;i<n;i++)
        if(Isprimer(i)&&Isprimer(n-i))
            break;
    printf("偶数%d可以分解成%d和%d两个素数的和\n",n,i,n-i);

    return 0;
}
int Isprimer(unsigned int n)
{
    int i;
    if(n<4)return 1;
    else if(n%2==0)return 0;
    else
        for(i=3;i<sqrt(n)+1;i++)
            if(n%i==0)return 0;

    return 1;
}

运行结果

运行以上代码,输出结果为

请输入一个偶数:
4
偶数4可以分解成13两个素数的和

返回上一级

C 语言经典 100 例

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.