列举所有的“四叶玫瑰数”,并统计四叶玫瑰数的个数
四叶玫瑰数:是一个四位数,各数制位上的数字的四次方的和等于该数字本身
举例:
int sum = a * a * a * a + b * b * b * b + c * c * c * c + d * d * d * d ;
a为个位数,b为十位数,c为百位数,d为千位数
sum就为四叶玫瑰
1、打印四叶玫瑰数
2、求取四叶玫瑰数的个数
知道谁是四叶玫瑰数?
对1000到9999之间的所有数字进行判断?
2.1、先获取到单个数字
2.2、获取单个数字每个数制位上面的数字
2.2.1、比如 :1234
个位:数 % 10
十位:数 / 10 % 10
百位:数 / 100 % 10
千位:数 / 1000 【最高位可以省略对10 取余】
2.3 求取四次方和
2.4 判断四次方和等于数字本身不
等于:
输出该数字
同时计数 【出现一个累计一个1,需要求取四叶玫瑰数前定义容器】
代码展示:
public class ForDemo7 {public static void main(String[] args) {//打印所有的四叶玫瑰,并打印。 int con = 0;for (int i = 1000; i <= 9999; i++) {int a = i % 10;int b = i / 10 % 10;int c = i / 100 % 10;int d = i / 1000;int sum = a*a*a*a + b*b*b*b + c*c*c*c + d*d*d*d ;if(sum == i) {System.out.println("四叶玫瑰为: " + i);con++;}}System.out.println("一共有: " + con + "个");}}