java基础小练习(21-25)

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是输出后换行,每五个一行
				}
			}
		}
		
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值