中易网

JAVA 求质数素数

答案:4  悬赏:50  
解决时间 2021-02-04 10:58
求从2开始到某一个给定整数的所有质数

比如 输入10 得到 从2到10的所有质数为 2 3 5 7

输入20 得到 从2到20 的所有质数为 2 3 5 7 11 13 17 19
得到的结果从小到大排列下来

初学者~请详细解释下谢谢~
最佳答案
public class Test {
public static void main(String[] args) {
getValues();
}
public static void getValues(){
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一个整数:");
try {
int num=Integer.parseInt(br.readLine());//从控制台获得输入的数据
String resultStr="";//结果字符串
boolean flag=false;//是否能被整除
for (int i = 2; i <= num; i++) {//大循环是把每一个数拿出来
for (int j = 2; j < i; j++) {//小循环是把当前拿出的这个数从2开始除直到这个数之前
if(i%j==0){flag=true;}//如果能被整除(没有余数)则标识给true
}
if(flag==false){resultStr+=i+" ";}//如果标识为false说明没被赋过值,也就是除了2和本身以外没别的数能除开,则给结果里外循环的当前这个数加入到输出字符串中
flag=false;//别忘了再给标识重设置为false为下次外循环做准备
}
System.out.println("2到"+num+"之间的所有质数有:"+resultStr);
br.close();
getValues();
} catch (Exception e) {
e.printStackTrace();
}
}
}
就是提供个思路,希望有用
全部回答
import java.util.*; public class WelcomeJFrame{ public static void main(String args[]) { Scanner reader=new Scanner(System.in); int max=0,i=2,n=2; boolean flag=false; max=reader.nextInt(); while(i<=max) { flag=false; for(n=2;n
  • 2楼网友:绝望伪装
  • 2021-02-03 17:26
public static void main(String[] args) { int max = 50; // 求50以内的素数 for (int i = 2; i < max; i++) { if(sushu(i)) { System.out.println(i); } } } public static boolean sushu(int n) { if(n == 2) { return true; //2是素数 } int x = (int) Math.floor(Math.sqrt(n)); // 找到与n的平方根接近的整数 for (int i = 2; i <= x; i++) { if(n % i == 0) { return false; // 若余数为零说明除尽了,不是素数 } } return true; }
  • 3楼网友:承载所有颓废
  • 2021-02-03 16:16
package test; import java.io.*; public class mathss { public static void main(string args[]) { system.out.println("输出201到300之间的全部质数"); int n,i; boolean b=false; for(n=201;n<=300;n++) { for(i=2;i<150;i++) { if(n%i ==0) { b=true; break; } } if(b){b=false;continue;} system.out.println (n); } } } 其实你的方法也是对的,就是你的for循环后边多了一个“;” 把for(i=2;i<=n;i++); { if(n%i ==0) break; }里for后边的“;”去掉就对了;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯