练习
1. 编写一个WanShu类,主函数中从键盘输入一个整数a,判断它是否是完数。如果是就输出“a是一个完数”,否则输出“a不是一个完数”。如果一个数正好等于它所有真因子的和,那么这个数就是一个完数。如6=1+2+3,所以6就是一个完数。
程序运行结果截图如下:
程序源代码如下:
import java.util.*;
public class WanShu {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a = Integer.parseInt(in.next());
int sum = 1;
for(int i = 2; i <= a / 2; i++){
if(a % i == 0){
sum += i;
}
}
if(sum == a){
System.out.println( a + "是一个完数");
}else{
System.out.println( a + "不是一个完数");
}
}
}
2. 编写一个QiuHe类,在主函数中计算3+33+333+……+3333333333(10个3)的和.
程序运行结果截图如下:
程序源代码如下:
public class QH {
public static void main(String[] args) {
long a=3,i,s=0;
for(i = 1;i <= 10;i++){
s+=a;a=a*10+3;
}
System.out.println("s="+s);
}
}
3.编写一个SuShu类,在主函数中从键盘输入一个整数,判断它是否是素数,如果a是素数就输出“a是一个素数”,否则输出“a不是一个素数”。素数就是质数,即只能被1和本身整除的数。
程序运行结果截图如下:
程序源代码如下:
import java.util.Scanner;
public class SuShu {
public static void main(String[] args){
int n;
int i;
Scanner scr = new Scanner(System.in);
n = scr.nextInt();
for( i = 2;i < n;i++){
if(n % i == 0){
System.out.println("不是一个素数");
}else{
System.out.println("是一个素数");}break;
}
}
}
4. 编写一个GongYueShu类,在主函数中从键盘输入两个整数a和b,求出它们的最大公约数。
程序运行结果截图如下:
程序源代码如下:
import java.util.*;
class GongYueShu{
public static void main(String args[]){
int m,n;
Scanner s=new Scanner(System.in);
m=s.nextInt();
n=s.nextInt();
int a, r;
a=m*n;
do{
if(m<n){
int t=m;m=n;n=t;
}
r=m%n;m=n;n=r;
}
while(r!=0);
System.out.println("最大公因数是:"+m);
}
}
5. 编写一个JieCheng类,在主函数中求1!+2!+3!+……+10!
程序运行结果截图如下:
程序源代码如下:
public class JieCheng{
public static void main(String [] args){
int a=1,s=0;
for(int j=1;j<=10;j++){
a=a*j;
s=a+s;
s=+s;
}
System.out.println("结果为"+s);
}
}