目标效果:
源码:
/**
* 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:153 是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
* @author Vivinia
*
*/
public class flower {
public static void main(String args[]) {
System.out.println("100到999中的水仙花数:");
for(int i=100;i<1000;i++) {
int temp=i; //复制一个temp作为运算数
int x=temp/100; //除以100求得百位
temp%=100; //百位没有用了,所以取余只剩十位和各位
int y=temp/10; //除以10求的十位
temp%=10; //十位没有用了,取余只剩各位
if(i==x*x*x+y*y*y+temp*temp*temp) {
System.out.println(i);
}
}
}
}
在一些数值运算中,比如逆序输出多位数的位数,对多位数的各个位进行操作,都会用到取余相除的方法,先取余后相除代表从个位开始逐个获取,先相除后取余代表从最高位开始逐个获取。