C语言偶数拆分

C语言偶数拆分,第1张

概述本文章向大家介绍C语言偶数拆分,主要包括C语言偶数拆分使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

题目(Description):


输入一个大于等于6的正偶数,将其拆分成两个素数(质数)的和,比如12=5+7,20=3+17。


素数(质数):除了1和本身外没有其他因子的数,比如2、3、5、7、11、13 … 一般规定1不是素数。


要求:编写一个求素数的函数。


输入(input ):


一个大于等于6的正偶数


输出(Output):


(1)如果输入的是奇数或小于6的偶数,则输出"input an even num (>=6)"(首字母大写,单词间一个空格,括号内无空格,没有句号".")


(2)如果是合法输入(一个大于等于6的正偶数),则输出两个素数且满足它们的和是输入的偶数


要求:小素数在前,大素数在后;且是所有可能拆分中,有最小素数的那一组。


比如:20=3+17 且 20=7+13,则输出3+17(中间没有空格),因为这一组有满足条件的最小素数


提示(Hint):


分别编写prime 和 main 函数,用prime 函数实现素数判断。


int prime(int y)


{


如果y是素数则返回1


否则返回0


}


示例1(Sample):


输入(input):


20


输出(Output):


3+17


示例2(Sample):


输入(input):


33


输出(Output):


input an even num (>=6)

#include

#include

int IsPrime(int n)

{

int i;

if (n <= 1)

return 0;

for (i = 2; i <= (int)sqrt(n); i++)

if (n % i == 0 && n != 2)

return 0;

return 1;

}

int main()

{

int n,i;

scanf("%d",&n);

if (n % 2 != 0 || n < 6)

printf("input an even num (>=6)");

else {

for (i = 1; i <= n; i++)

if (IsPrime(i) && IsPrime(n - i))

break;

printf("%d+%d",i,n - i);

}

return 0;

}

总结

以上是内存溢出为你收集整理的C语言偶数拆分全部内容,希望文章能够帮你解决C语言偶数拆分所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1264544.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存