50道JAVA基础编程练习题(1)

  1. 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

    // 求最大公约数和最小公倍数
    // 程序分析:利用辗除法。
    private static void max_min(int m, int n) {
        int temp = 1;
        int yshu = 1;
        int bshu = m * n;
        if (n < m) {
            temp = n;
            n = m;
            m = temp;
        }
        while (m != 0) {
            temp = n % m;
            n = m;
            m = temp;
        }
        yshu = n;
        bshu /= n;
        System.out.println("最大公约数为" + yshu);
        System.out.println("最小公倍数为" + bshu);
    }
  2. 题目:一个数如果恰好等于它的因子之和,这个数就称为”完数”。例如6=1+2+3.编程找出1000以内的所有完数。

    // 求完数
    private static void compNumber(int n) {
        System.out.println(n + "以内的完数:");
        int count = 0;
        for (int i = 1; i <= n; i++) {
            int sum = 0;
            for (int j = 1; j <= i / 2; j++) {
                if ((i % j) == 0) {
                    sum += j;
                }
            }
            if (sum == i) {
                System.out.print(i + " \n");
                count++;
            }
        }
        System.out.println(n + "以内共有完数 : " + count + "个");
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值