java基础练习题 自我复习

/**
 *
 * 求1000以内的完数
 * 完数:
 * 如果一个数等于其所有因子的和;我们成为完数
 * 例如6=3+2+1
 */

public class GetNum {
    public static void main(String[] args) {
        //遍历1000以内的数
        for (int i = 1; i <=1000; i++) {
            //定义一个变量来存和的值
            int sum = 0;
            //求i的因子
            for(int j= 1;j<=i/2;j++){
                //判断是否能整除
                if(i%j==0){
                    sum+=j;
                }
            }
            if(sum==i){//如果因子之和为本轮判断的数,则为完数
                System.out.println(i);
            }
        }
    }
}
/**
 * 求数的阶乘
 */

import java.util.Scanner;
public class Factorial {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入你要求的阶乘:");
        int num = sc.nextInt();
        if(num<0){
            System.out.println( "负数没有阶乘");
            return;
        }
        if(num==0){
            System.out.println("0的阶乘是0");
            return;
        }
        long sum = 1;
        for(int i=num;i>=1;i--){
            sum*=i;
        }
        System.out.println(num+"的阶乘是"+sum);

    }
}
//寻找100内除尾数为3.5.7的数
public
class ForContinue { public static void main(String[] args) { for(int i = 1;i<=100;i++){ int y = i%10; //如果尾数为357则停止本次循环进入下一次循环 if(y==3||y==5||y==7){ continue; } System.out.println(i); } } }

 

posted @ 2021-05-12 23:28  爬虫王子  阅读(62)  评论(0)    收藏  举报