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