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