C/C++素数判断(附exe方便不懂编程…

来源:互联网 发布:淘宝供货商怎么找免费 编辑:程序博客网 时间:2024/06/01 11:26
在学习 python 的时候,遇到一个题目,要求用yield生成器来写一个判断某个范围的数是否是素数的函数,由于在编程中我们经常需要判断某个较大的数是否是素数,我提供了一种自己的解决方案,其中有点二分的思想。希望对朋友们有所帮助。判断素数的方法很多,这只是我个人的方法。由于网页功能限制,格式有可能有变化。

exe下载

#include "stdafx.h"
bool is_p(intargc);

int _tmain(int argc, _TCHAR* argv[])
{
int x;
while (true)
{
scanf("%d", &x);
printf("%d %s prime\n", x, is_p(x) ? "is " : "is NOT");
}
return 0;
}

//
//素数判断:
//输入的数从2开始除,
//①如果余数为0,则非素数,返回false;
//②如果不为0,则除以下一个数,并同时把上限缩小至被2除过后的整数。(有种二分的思想)
//越界不检查
//
bool is_p(int x)
{
if (x == 1)
return false;
if (x == 2)
return true;
int modValue = x;
for (int index = 2; index <= modValue; index++)
{
if (x%index != 0)
modValue = x / index;
else
{
printf("%d 能被 %d 整除,结果为: %d , ", x, index, x / index);
return false;
}
}
return true;
}
0 0
原创粉丝点击