用java编写一个程序段,输入一个自然数,判断该数是不是为素数。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用java编写一个程序段,输入一个自然数,判断该数是不是为素数。相关的知识,希望对你有一定的参考价值。
参考技术A int n = 7; //输入的自然数\\x0d\\x0a int k = 0; //输出的状态控制 初始化为0\\x0d\\x0a for (int i = 2; i < n; i++) //循环判断\\x0d\\x0a if (n%i == 0) // 判断是不是因子\\x0d\\x0a System.out.println(n + "不是素数"); //输出不是素数\\x0d\\x0a k = 1; //控制置1\\x0d\\x0a break; //只要有一个因子就不用继续循环判断了,跳出循环\\x0d\\x0a \\x0d\\x0a \\x0d\\x0a if (k == 0) //状态为0则输出为素数\\x0d\\x0a System.out.println(n + "是素数");\\x0d\\x0apython3判断输入的数是否为素数
首先,需要明确什么是素数?
素数:又称质数,指在大于1的自然数中,除了1和该数本身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个因数的数)。
举个例子:5---除了能被1或5整除外,再也找不到第三个可以整除它的自然数了。那么5就是素数。
那么,如果用程序如何来判断它是不是素数?
实现思路:
1 需要先输入一个被判断的数字并赋值给 Number
2 判断这个数符不符合“Number > 1”的规则,如果不符合就结束循环,如果符合就去检验是不是素数
3 如果能被1到Number之间的任意一个正整数整除就可以判断为不是素数,即可结束循环
4 如果1至Number之间所有的正整数都不能整除,那么就是素数,即可结束循环
有了思路,咱们来看具体要怎么实现:
Number = int(input("请输入一个数字:")) # 输入一个正整数,并赋值给Number
if Number > 1: # 判断输入的正整数是否大于1
for i in range(2,Number): # 循环取出2至Number-1的正整数 i
if Number % i == 0: # 将Number与i取余,如果余数为0 ,则就可以被整除
print ("数字%s不是素数" % Number)
break # 不是素数,结束循环
else:
print("数字%s是素数" % Number) # 否则就是素数,打印结果
else:
print("输入的数字小于1,不合法")
对于这段代码,有个地方要注意:
else没有和if是一对,而是和for并排的,else与for搞到了一起,凑成了一对,我们常见的是if…else…或者if…elif…else诸如此类,但其实for也可以和else搭配出现,在这段代码里,当某一次遍历结果余数为0后,break生效,那循环就结束了。就这样完了,就是上边思路中的第三点。
最后来看看不同情况的结果:
请输入一个数字:17
数字17是素数
请输入一个数字:-10
输入的数字小于1,不合法
请输入一个数字:9
数字9不是素数
以上是关于用java编写一个程序段,输入一个自然数,判断该数是不是为素数。的主要内容,如果未能解决你的问题,请参考以下文章
用c语言编写 编写一个判断奇偶数的函数,要求在主函数中输入一个整数,输出该数是奇数还是偶数的信息