Java获取计数单位上的数

求水仙花数我们要获取计数单位上的数,也就是获取一个数的个、十、白、千……位上的数,在java我们可以利用除和取余来获取计数单位上的数。

在Java中,“/”是获取结果的商,“%”是获取结果的余数。例如,在整数类型中,“21/10”的结果是2,“9%10”的结果是9。我们已经发现,获取一个整数个位数上的数,只需要它对十取余,“ 9%10 =9”。如果要获取十位数上的数,先对把它除以十,就得到了十位上的数,这时得到的数是一个个位数,我们像之前一样, 把对十取余,就得到了十位数上的数,到了这一步,我们很容易就想到,要获取百位上的数就先让它除以100,然后再对获得的数取余。千位、万位、十万位、也是如此。

代码演示一下获取一个五位数的个、十、白、千、万位上的数。

import java.util.Scanner;
public class AcquireData {
    public static void main(String[] args) {
        Scanner num = new Scanner(System.in);
        System.out.println("任意输入一个五位数:");
        int number = num.nextInt();
        int ge = number%10;
        int shi = number/10%10;
        int bai = number/100%10;
        int qian = number/1000%10;
        int wan = number/10000%10;
        System.out.println("个位:" + ge);
        System.out.println("十位:" + shi);
        System.out.println("百位:" + bai);
        System.out.println("千位:" + qian);
        System.out.println("万位:" + wan);
    }
}
演示

以上就是求计数单位上的数。求接下来,在实际例子中演示一下,求四位水仙花数。

四位水仙花数,指的是一个四位数,个位、十位、百位、千位上的数字立方和等于原数,例如,1*1*1*1 + 6*6*6*6 + 3*3*3*3 + 4*4*4*4 =1634,那么他就是一个水仙花数。

//求四位水仙花数
public class Daffodil {
    public static void main(String[] args) {
        //定义一个变量,接收水仙花数
        int sum = 0;
        for(int num=1000;num<=9999;num++) {
            int ge = num%10;
            int shi = num/10%10;
            int bai = num/100%10;
            int qian = num/1000%10;
            if(ge*ge*ge*ge + shi*shi*shi*shi + bai*bai*bai*bai + qian*qian*qian*qian == num) {
                System.out.println(num);
                sum++;
            }
        }
        System.out.println("四位水仙花数一共有" + sum + "个");
    }
}
四位水仙花数

这里只是求的四位水仙花数,当然你还可以求三位、五位、六位、七位、八位……

当然,以上是一个简单的演示,他只是一个笔记,没有任何技术含量。

阅读剩余
THE END