判断一个数为素数的程序代码怎么写

 我来答
次音光aA
2014-03-23 · TA获得超过1.5万个赞
知道答主
回答量:5119
采纳率:100%
帮助的人:675万
展开全部
判断素数的原理是:
素数是只能被1和本身整除的数。例如 3只能被1和3整除,17只能被1和17整除等等,想9就不是素数(能被1,3,9整除)。

编程的算法是:
穷举法,就是将需要判断的数除2、除3....一直除到这个数减1.
例如:判断7是不是素数的算法是进行如下运算 7/2,7/3,7/4,7/5,7/6,在上述除的过程中如果都不能被除尽则可以断定7是素数,否则就说明7不是素数。
注意:编程时使用求余运算,判断是否能被除尽。
参考程序如下:
dim i as integer
dim j as integer
dim x as integer
x=val(inputbox("请输入一个自然数:","输入提示"))
for i=2 to x-1
if x mod i=0 then exit for
next i
if i=x then '此处若i的值变为x则说明所以上面的循环全被执行完
print x & "是素数"
else
print x & "不是素数" '若i<x则说明循环的中途x就能被除尽了
endif

当然程序还可以被优化,例如不一定非除到n-1,完全可以除到根号下n,
举例一:判断25是不是素数的话,只需要除到5即可
举例二:对于开根后是小数的可以取整,如判断15是不是素数只需要除到3即可。
简化后的程序运行速度会更快的。
降阳钟笙
2017-06-16
知道答主
回答量:19
采纳率:100%
帮助的人:4.8万
展开全部
java:
private static boolean method(int n) {
// 出了1和本身外,不能被任何数整除的数
if (n == 1)
return false;
int count = 0;
for (int i = 1; i <= n; i++) {
// 当count = 2时为素数 (除数范围1~n)
if (n % i == 0)
count++;
}
if (count < 3)
return true;
return false;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式