java程序:输入m,n求其之间的素数
答案:3 悬赏:60
解决时间 2021-02-27 23:48
- 提问者网友:柠檬香
- 2021-02-27 17:07
java程序:输入m,n求其之间的素数
最佳答案
- 二级知识专家网友:星痕之殇
- 2021-02-27 18:00
import java.util.Scanner;
public class FindPrimes {
public static void main(String[] args) {
Scanner c = new Scanner(System.in);
int a = c.nextInt();
int b = c.nextInt();
int m=0,n=0;
if(a == b){
System.out.println("m和n相等");
System.exit(0);
}else{
if(a>b){
m = b;
n = a;
}else{
m = a;
n = b;
}
}
for (int i = m; i <= n; i++) {
//遍历整除时,只需遍历到二分之一i加1即可
int k = (int)Math.ceil(i/2);
boolean flag = true;
//从2到N遍历
for (int j = 2; j <= k; j++) {
//能被整除,不是素数
if(i%j==0){
flag = false;
}
}
if(flag){
System.out.println(i);
}
}
}
}
public class FindPrimes {
public static void main(String[] args) {
Scanner c = new Scanner(System.in);
int a = c.nextInt();
int b = c.nextInt();
int m=0,n=0;
if(a == b){
System.out.println("m和n相等");
System.exit(0);
}else{
if(a>b){
m = b;
n = a;
}else{
m = a;
n = b;
}
}
for (int i = m; i <= n; i++) {
//遍历整除时,只需遍历到二分之一i加1即可
int k = (int)Math.ceil(i/2);
boolean flag = true;
//从2到N遍历
for (int j = 2; j <= k; j++) {
//能被整除,不是素数
if(i%j==0){
flag = false;
}
}
if(flag){
System.out.println(i);
}
}
}
}
全部回答
- 1楼网友:迷人小乖乖
- 2021-02-27 20:22
public class PrimeDemo {
public static void main(String[] args) {
getPrime(1, 1000);
}
// 求两数之间的素数
static void getPrime(int begin, int end) {
if (begin > end || begin < 1) return;
if (begin < 2) begin = 2;
StringBuffer sb = new StringBuffer();
for (int i = begin; i <= end; i++) {
boolean canGo = false;
for (int j = 2; j <= i; j++) {
if (i % j == 0 && j != i) {
canGo = true;
break;
}
}
if (canGo) continue;
sb.append(i).append(",");
}
sb.setLength(sb.length() - 1);
System.out.println(sb.toString());
}
}
- 2楼网友:寂寞的炫耀
- 2021-02-27 19:26
import java.util.scanner;
public class test {
public static void main(string[] args) {
system.out.println("请任一输入两个数(用空格隔开),我们会求出这区间内的所有素数,-->");
scanner input = new scanner(system.in);
int max = input.nextint();
int min = input.nextint();
if (max < min) {
int temp = max;
max = min;
min = temp;
}
for (int i = min; i < max; i++) {
boolean issushu = true;
for (int j = 2; j <= math.sqrt(i); j++) {
if (i % j == 0) {
issushu = false;
break;
}
}
if (issushu) {
system.out.print(i+" ");
}
}
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯