1.判断一个数是否为质数
int k= 11;
boolean bb =true;
for(int i=2;i<k/2;i++){
if(k%i==0){
bb =false;
break;
}
}
if(bb) {
System.out.println(k+"是质数");
}
else {
System.out.println("不是质数");
}
1.5 判断 101-500 哪些是质数
for(int k=101;k<500;k++) {
boolean bb = true;
for(int i =2; i<k/2;i++) {
if(k%i==0) {
bb = false;
break;
}
}
if(bb) {
System.out.println(k+"是质数");
}
}
2.输入两个数,求这两个数的最大公因数和最小公倍数。
不用方法写:
int k1,k2;
Scanner sc = new Scanner(System.in);
while(true) {
System.out.println("请输入第一个正整数");
String ss = sc.nextLine();
try {
k1 =Integer.parseInt(ss);
if(k1>0) {
break;
}
System.out.println("输入错误,请输入大于0的正整数");
} catch (Exception e) {
System.out.println("输入格式错误");
}
}
while(true) {
System.out.println("请输入第二个正整数");
String ss = sc.nextLine();
try {
k2 =Integer.parseInt(ss);
if(k2>0) {
break;
}
System.out.println("输入错误,请输入大于0的正整数");
} catch (Exception e) {
System.out.println("输入格式错误");
}
}
int min = k1>k2? k2:k1;
for(int i =min;i>=1;i--) {
if(k1%i ==0 && k2%i==0) {
System.out.println(k1+"和"+k2+ "的最大公约数是:"+i);
break;
}
}
int begin = k1>k2?k1:k2;
int end =k1*k2;
for(int i=begin;i<=end;i++) {
if(i%k1==0 && i%k2==0) {
System.out.println(k1+"和"+k2+"的最小公倍数是:"+i);
break;
}
}