一、从控制台接收一个正整数,判断该数字是否为质数。
质数(质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数)。
public class IsPrime{
public static void main(String[] args){
java.util.Scanner s =new java.util.Scanner(System.in);
System.out.print("请输入一个正整数:");
int num = s.nextInt();
boolean zhishu = true; //true表示是质数
for(int i = 2;i <num;i++){
if(num % i == 0){
zhishu =false;
break;
}
}
System.out.println(num + (zhishu ? "是" : "不是") +"质数");
}
}
运行截图:
二、小芳的妈妈每天给她2.5元钱,她都会存起来,但是,每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,请问,经过多少天,小芳才可以存到100元钱。
public class saveMoney{
public static void main(String[] args){
int i = 0;//天数
double sum = 0.0;//表示钱的总和
while(sum < 100){
i++;
sum += 2.5;
if(i % 5 == 0){
sum -= 6.0;
}
}
System.out.println("需要"+ i +"天小芳可以存到" + sum + "元钱");
}
}
运行截图:
三、一个数如果恰好等于它的因子之和,这个数就是完数,例如 6 = 1 + 2 + 3,编程找出1000内所有的完数。
public class isPerfectNum{
public static void main(String[] args){
//1不是完数,从2开始
for(int i = 2;i <= 1000;i++){
int sum = 0;
for(int j = 1;j <= i/2;j++){
if(i % j == 0)
sum += j;
}
if(i == sum)
System.out.println(i+"是完数");
}
}
}
运行截图:
四、给一个不多于5位的正整数,
要求:
1、求它是几位数;
2、逆序打印出各位数字。
public class reversedNum{
public static void main(String[] args){
java.util.Scanner s = new java.util.Scanner(System.in);
System.out.print("输入一个正整数:");
int num = s.nextInt();
int sum = 0;
System.out.print("该数的逆序输出为:");
while(num != 0){
int count = num % 10;
num /= 10;
sum++;
System.out.print(count);
}
System.out.println();
System.out.println("该数的位数为:" + sum);
}
}
运行截图: