Java程序中如何判断一个数是否为素数

您所在的位置:网站首页 沃尔沃290 Java程序中如何判断一个数是否为素数

Java程序中如何判断一个数是否为素数

2023-12-22 21:25| 来源: 网络整理| 查看: 265

文章目录 一、素数是什么?二、思考步骤1.满足定义:拿一个数看能不能被1和它本身整除,对吗??2.先说说1-100以内的素数如何输出:**那么怎么变成判断输入的一个数是不是素数呢??** 总结

在判断一个数是否为素数的题上,花费了我大量的时间,所以我不得不拿来说一说

一、素数是什么?

素数就是在所有比1大的整数中,除了1和它本身以外,不再有别的因数,这种整数叫做素数(质数)

二、思考步骤 1.满足定义:拿一个数看能不能被1和它本身整除,对吗??

在这里插入图片描述

那肯定是不对的,那不是随便一个数都是素数了

应该考虑从2开始到输入的数减一为止,都不能被你输入的数整除,才定义为素数**

2.先说说1-100以内的素数如何输出:

首先我们需要一个循环,遍历一下1-100的全部整数,可以用for()循环 要明白的是最小的质数是:2 肯定有很多人不知道吧在这里插入图片描述 那么这个for从i=2开始 在考虑内层循环,必须让外层循环的每一个数进入内层循环去除2到它自身-1的所有数看结果为不为零来判断,话不多说上码

public class HomeWork { public static void main(String[] args) { int j; for (int i = 2; i //j:被i去除 if (i % j == 0) { //如果能被2-到i-1中的任何一个数整除就说明不是素数 break; //不用break 每一个都会输出是素数 } } if (i == j) { System.out.println(i + "是素数"); } } } } 那么怎么变成判断输入的一个数是不是素数呢??

在这里插入图片描述 那既然是输入的肯定要new 一个Scanner,然后我们不需要外面那个遍历1-100的循环了,把它去掉,里面的只需要让i小于你输入的数-1,在循环就可以啦

public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int i; for (i = 2; i System.out.println(n + "不是素数"); break; } } if (n==i){ System.out.println(n+"是素数"); } } } 总结

对于写每一个编程题来说,最重要的是先要自己理解题目,逻辑清楚,就像这个素数,自己要知道素数是怎么定义的,根据定义来写代码,层层递进,当然这个方法不是最优方案,最优方案下次再说给你们吧! 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3