Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14964
  • 博文数量: 17
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 0
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-22 15:44
个人简介

Be better

文章分类

全部博文(17)

文章存档

2016年(12)

2015年(5)

我的朋友

分类: C/C++

2016-03-05 16:12:30

#include
#include
#include


int prime(int num)//判断是否为质数
{
if (num == 1)
{
return 0;
}


else if (num == 2 || num == 3)
{
return 1;
}


else
{
int flag = 1;//假设是质数


for (int i = 2; i < num; i++)
{

if (num%i == 0)//存在非2及本身的因子,非质数
{
flag = 0;
break;
}
}
return flag;
}


}




void split(int num)
{
if (prime(num) == 1)
{
printf("%d是质数\n",num);
}
else
{
printf("%d不是质数\n",num);


for (int i = 2; i < num; i++)
{
if ((prime(i) == 1) && (prime(num - i) == 1))
{
printf("可以拆分成两个质数:%d和%d\n", i, num - i);
break;//有break找到一对就推出循环,如果不使用break则找到所有的组合
}
}
}
}


void main()
{
int num;
scanf_s("%d", &num);

split(num);




system("pause");
}
阅读(267) | 评论(0) | 转发(0) |
0

上一篇:进制转换

下一篇:杨辉三角

给主人留下些什么吧!~~