java基础小练习(21-25)

it2025-04-20  5

21.判断某个数是否为完全数。(完全数:所有小于该数本身的因子之和等于该数本身,例如6是一个完全数,因为,6=1+2+3)

package ZuoYe1_jt; import java.util.Scanner; public class ZuoYe_21 { public static void main(String[] args) { // TODO Auto-generated method stub //从控制台输入整数 Scanner input =new Scanner(System.in); System.out.println("请输入一个数,判断他是否为完全数"); int x=input.nextInt(); int sum=0; input.close(); //求该数的因子之和 for(int i=1;i<x;i++) { if(x%i==0) { sum+=i; } } //判断因子之和是否等于该数本身 if(sum==x) { System.out.println(x+"是 完全数"); }else { System.out.println(x+"不是完全数"); } } }

22.编写程序读入整数并求它们的总和与平均值。输入0时程序结束。

package ZuoYe1_jt; import java.util.Scanner; public class ZuoYe_22 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input =new Scanner(System.in); int sum=0; //和 double averagr; //平均值 int count=0; System.out.println("输入整数并求它们的总和与平均值,输入0时程序结束。(输入一个数后按返回键)"); int x; //方法一 /* while(true) { //控制台输入整数 int x=input.nextInt(); //判断是否为0 if(x!=0) { sum+=x; count++; }else{ break; } } */ do{ x=input.nextInt(); sum+=x; count++; }while(x!=0); input.close(); averagr=1.0*sum/count; //求平均值 System.out.println("它们的和为:"+sum+","+"它们的平均值为:"+averagr); } }

23.求100以内的所有素数的和。(素数是一个大于1且只能被1和它本身整除的整数)

package ZuoYe1_jt; public class ZuoYe_23 { /* public static boolean isPrime(int x) { /** * 判断某个数是素数 * @param x 任意一个大于1的整数 * @return 返回是否为素数,true-是素数,false-不是素数 */ /* boolean result=true; for(int i=2;i<=x;i++) { if(x%i==0) { result=false; break; } } return result; } */ public static void main(String[] args) { // TODO Auto-generated method stub /* int sum =0;//和 for(int i=2;i<=100;i++) { boolean result=isPrime(i); if(result) { sum+=i; } } */ int sum=0; for(int x=2;x<=100;x++) { int i; for(i=2;i<x;i++) { if(x%i==0) break; } if(x==i) { sum+=x; } } System.out.println("100以内的所有素数的和"+sum); } }

24.打印100以内的所有素数。(素数是一个大于1且只能被1和它本身整除的整数)

package ZuoYe1_jt; public class ZuoYe_24 { public static void main(String[] args) { // TODO Auto-generated method stub int x; int i; System.out.println("100以内的所有素数:"); //计算 for(x=2;x<=100;x++) { //从2开始 for(i=2;i<x;i++) { if(x%i==0) break; } if(x==i) { System.out.print(x+" "); } } } }

25.打印100以内的所有素数,每5个数打印一行。(素数是一个大于1且只能被1和它本身整除的整数)

package ZuoYe1_jt; public class ZuoYe_25 { public static void main(String[] args) { // TODO Auto-generated method stub int x; int i; int index=0; System.out.println("100以内的所有素数:"); //计算 for(x=2;x<=100;x++) { for(i=2;i<=x;i++) { if(x%i==0) break; } if(i==x) { System.out.print(x+"\t"); index++; if(index%5==0) { System.out.println(); //println是输出后换行,每五个一行 } } } } }
最新回复(0)