
正文
质数判断代码java 判断质数的程序代码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
用java语言判断一个数是不是质数?
下面是质数判断代码java我用JavaScript写的素数函数质数判断代码java,供参考质数判断代码java,大同小异
PrimeA=function(n,nth){/* 小于n的素数表
参数nth 指定返回第n个素数
*/
//var t0=Time.now5();
/*
方法1:利用isPrime 废弃质数判断代码java!
var t=[];
for(var i=2;in+1;i++){
if(isPrime(i)){
t.push(i)
}
}
consolelog('方法1:耗时:'+(+Time.now5()-(+t0)));
return t
*/
//方法2:利用筛法
var p=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59];//自己往后补充,越多越好,可以加快检测小素数的效率
if(nth n=669){
return p[n-1]
}
if(!nth n2){
return []
}
if(n=5000 !nth){
for(var i=0;i100;i++){
var j=p.indexOf(n-i);
if(j-1){return p.slice(0,j+1)};
}
return p
}
var m=nth?Math.ceil(n*Math.log(n)+1000):n; //pn ∼ nln(n)
// for(var i=5001;i=m;i+=2){
var i=5001;
while(i){
var t=Math.floor(Math.sqrt(i)), pl=p.length;
for(var j=0;jpl;j++){//p.length
if(i%p[j] == 0){
break
}else if(p[j+1]t){
p.push(i);
if(nth pl==n-1){
return i
}
break;
}
}
if(!nth i=n-1){
return p
}
i+=2;
}
return p
//方法3:Wilson测试
}
相关问答
Q1: 用java写个程序 判断 用户输入的数 是否是质数?
使用java编写判断自然数是否为素数的方式是,使用scanner来接受用户输入的数值,使用素数的算法,实例如下:
Scanner sr = new Scanner(System.in);
System.out.print("请输入a的值:");
int a = sr.nextInt();
boolean is = true;
if (a 1)
{
System.out.println(a + "不是质数,因为他小于一");
}
else
{
ListInteger list = new ArrayListInteger();
for (int i = 2; i a; i++)
{
if (a % i != 1 a % i != a)
{
if (a % i == 0){
is=false;
list.add(i);
}
}
}
if(is){
System.out.println("a是质数");
}else{
String yz="";
for (int i = 0; i list.size(); i++)
{
if (yz=="")
{
yz=yz+list.get(i);
}else{
yz=yz+","+list.get(i);
}
}
System.out.println("a不是质数,因为他含有因子"+yz);
}
}
Q2: java随便输入一个数判断是不是质数
1质数判断代码java,首先明确什么是质数,只有1和本身两个约数叫做质数
2,从键盘读入我们质数判断代码java的数据
3,写一个方法判断是不不是质数
4,输出结果
5,看代码
package com.sxt.jframe;
import java.util.Scanner;
public class ZhiShu {
public static void main(String[] args) {
System.out.println("请输入一个数");
int num = new Scanner(System.in).nextInt();
if (judgeNum(num)) {
System.out.println(num + "\t不是素数");
} else {
System.out.println(num + "\t是素数");
}
}
//判断是否是素数
private static boolean judgeNum(int num) {
for (int i = 2; i = num / 2; i++) {
if (num % i == 0)
return true;
}
return false;
}
}
6,运行效果如下
Q3: java判断质数
不知道质数判断代码java你要的是不是这种效果质数判断代码java,程序在你的基础上做质数判断代码java了一些修改,在你的基础上增加质数判断代码java了假如输入的不是一个数时做什么处理,输入“back”时返回,你可以拿去把程序修改的更完善。。你说的方法都可以调用,在 main方法里面需要new一个对象来调用,除非你把方法定义为静态方法(static)。。
import java.util.Scanner;
public class Prime_Decide {
public void isPrime(String st) { // 判断int整形a是否是素数
try {
if (st.equals("back")) {
Display();
} else {
int a, i;
a = Integer.parseInt(st);
for (i = 2; i = a / 2; i++) {
if (a % i == 0) {
break;
}
}
if (a == 0) {
System.out.println(a + " 你输入的数不是素数");
} else if (i a / 2) {
System.out.println(a + " 你输入的数是素数");
} else {
System.out.println(a + " 你输入的数不是素数");
}
Input1();
}
} catch (NumberFormatException e1) {
System.out.println("请你输入正确的数字质数判断代码java!!!");
Input1();
}
}
public void isPrime_2(String s1, String s2) {
try {
if (s1.equals("back")) {
Display();
} else {
int a = Integer.parseInt(s1);
int b = Integer.parseInt(s2);
if (a 0 a == b a b) {
System.out.println("你的输入有误,重新输入:");
}
int j;
for (int i = a; i = b; i++) {
for (j = 2; j = i / 2; j++) {
if (i % j == 0) {
break;
}
}
if (j i / 2) {
System.out.println(" " + i + " 是素数");
}
}
Input2();
}
} catch (NumberFormatException e) {
System.out.println("请你输入正确的数字!!");
Input2();
}
}
public void Input1() {
System.out.println("请输入你要进行判断的数:");
Scanner sc = new Scanner(System.in);
String st = sc.nextLine();
isPrime(st);
}
public void Input2() {
// int a, b;
System.out.println("请输入上界 a= ");
Scanner sc = new Scanner(System.in);
// a = Integer.parseInt(sc.nextLine());
System.out.println("请输入下届 b=");
Scanner st = new Scanner(System.in);
// b = Integer.parseInt(st.nextLine());
isPrime_2(sc.nextLine(), st.nextLine());
}
public void Display() {
System.out.println("请输入你要进行的数的判断:\n1: 单个数的判断\n2: 一段整数范围的判断\n3: 退出");
try {
Scanner sc = new Scanner(System.in);
int c = Integer.parseInt(sc.nextLine());
if (c == 1) {
Input1();
} else if (c == 2) {
Input2();
} else if (c == 3) {
System.exit(1);
} else if (c != 1 c != 2 c != 3) {
System.out.println("你输入如的信息有误,请重新输入1、2、3!");
Display();
}
} catch (NumberFormatException e) {
System.out.println("你输入如的信息有误,请重新输入1、2、3!");
Display();
}
}
public static void main(String[] args) {
Prime_Decide pr = new Prime_Decide();
pr.Display();
}
}
希望对你有帮助!!
Q4: 用JAVA编写程序:“判断n是不是质数”
java编程,判断n不是质数,循环让n除以n一半以下的数,有余数就不是质数,没有就是质数,方法如下:
public class TestA {
public static void main(String[] args){
//定义一个数
int n=101;
//遍历这个数的n/2+1次,除以n一半以下的数都除不尽就是质数
for(int x=2;x=(n/2+1);x++){
//n%x取余等于0就不是质数,则退出循环
if(n%x==0){
System.out.println(n+"不是质数!");
break;
}
//x等于最大值,可知n是质数
if(x==(n/2+1)){
System.out.println(n+"是质数!");
}
}
}
}
结果:
101是质数!
质数判断代码java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于判断质数的程序代码、质数判断代码java的信息别忘了在本站进行查找喔。






