判断一个数为素数的程序代码怎么写
2个回答
展开全部
判断素数的原理是:
素数是只能被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即可。
简化后的程序运行速度会更快的。
素数是只能被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即可。
简化后的程序运行速度会更快的。
展开全部
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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询