打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Java实现方法判断一个数是不是素数(三种不同的方法,都有运行结果展示)
素数的定义:
质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除,换句话说就是该数除了1和它本身以外不再有其他的因数
如何判定一个数是不是素数?
方法一:
思考思路
采用循环,使用大于1小于判定数的数去整除判定数
代码实现
import java.util.Scanner;public class IsPrime { public static void main(String[] args){ Scanner scan = new Scanner(System.in); int number = scan.nextInt(); isPrime(number); } public static void isPrime(int number) { int count = 0; for(int i = 2; i < number; i++) { if((number%i) == 0) { count++; } 语言 方法
7525 87D45yHt7h
E41ge抖音看不到评论
8779 2005-04-02 21:21:13
} if(count == 0) { System.out.println(number + "是素数"); } else { System.out.println(number + "不是素数"); } }}
运行结果
存在问题
当数字较大时,循环次数较多,比较耗时,效率较低,所以不推荐使用 -
方法二:
思考思路
采用循环,使用大于1小于判定数的二分之一的数去整除判定数,(任何一个数的最大因数都小于等于它的二分之一)
代码实现
import java.util.Scanner;public class IsPrime { public static void main(String[] args){ Scanner scan = new Scanner(System.in); int number = scan.nextInt(); isPrime(number); } public static void isPrime(int number) { int count = 0; for(int i = 2; i < number/2; i++) { if((number%i) == 0) { count++; } } if(count == 0) { System.out.println(number + "是素数"); } else { System.out.println(number + "不是素数"); } }}
运行结果
存在问题
相对上面的代码,效率提高了不少,可以采纳,但是不是最优做法。
方法三:
思考思路
采用循环,使用大于1小于判定数的开方的数去整除判定数
(因为如果一个数不是素数是合数,那么一定可以由两个自然数相乘得到,其中一个大于或等于它的平方根,一个小于或等于它的平方根.并且成对出现)
代码实现
import java.util.Scanner;import java.lang.Math;public class IsPrime { public static void main(String[] args){ Scanner scan = new Scanner(System.in); int number = scan.nextInt(); isPrime(number); } public static void isPrime(int number) { int count = 0; for(int i = 2; i < Math.sqrt(number); i++) { if((number%i) == 0) { count++; } } if(count == 0) { System.out.println(number + "是素数"); } else { System.out.println(number + "不是素数"); } }}
运行结果
存在问题:
不好理解,但是代码效率好,推荐使用。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
第五周:数组
Java实现素数的判断
求素数
Scanner常用的方法
PTA 1007 素数对猜想(详解 代码)
华为机试HJ60:查找组成一个偶数最接近的两个素数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服