「Java学习打卡」23、判断素数和Armstrong数

import java.util.Scanner;

public class Test {
    public static void main(String args[]) {
        System.out.print("输入正整数: ");
        Scanner scan0 = new Scanner(System.in);
        int n = scan0.nextInt();

        // 检测素数
        int flag = checkPrimeNumber(n);
        if (flag == 1)
            System.out.print(n + " 是素数。");
        else
            System.out.println(n + " 不是素数");

        // 检测 Armstrong 数
        flag = checkArmstrongNumber(n);
        if (flag == 1)
            System.out.print(n + " 是 Armstrong 数。");
        else
            System.out.print(n + " 不是 Armstrong 数。");
        return;


    }

    //判断素数
    public static int checkPrimeNumber(int n) {
        int i, flag = 1;

        for (i = 2; i <= n / 2; ++i) {

            if (n % i == 0) {
                flag = 0;
                break;
            }
        }
        return flag;
    }

    public static int checkArmstrongNumber(int number) {
        int originalNumber, remainder, result = 0, n = 0, flag;

        originalNumber = number;

        while (originalNumber != 0) {
            originalNumber /= 10;
            ++n;
        }

        originalNumber = number;

        while (originalNumber != 0) {
            remainder = originalNumber % 10;
            result += Math.pow(remainder, n);
            originalNumber /= 10;
        }

        if (result == number)
            flag = 1;
        else
            flag = 0;

        return flag;
    }

}
发布了30 篇原创文章 · 获赞 0 · 访问量 450

猜你喜欢

转载自blog.csdn.net/qq_26959737/article/details/104955627
今日推荐