多位水仙花数

/**
 * 水仙花数
 * */
public class Daffodil {

	public static void main(String[] args) {
		int max = 9999 ;
		int min = 10 ;
		for(int x=min;x<max;x++){
			String temp = String.valueOf( x ) ;
			int pow = temp.length() ;
			char[] chars = temp.toCharArray() ;

			int all = 0 ;
			for(char c : chars){
				int a = Integer.parseInt( String.valueOf(c) ) ;
				all += Math.pow( a , pow ) ;
			}
			if(all == x){
				System.out.println( x + "是水仙花数" ) ;
			}
		}
	}
}

多位水仙花数

时间: 2024-11-10 08:11:21

多位水仙花数的相关文章

21位水仙花数—题解

一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数. 例如: 当N=3时,153就满足条件,因为1^3+5^3+3^3=153,这样的数字也被称为水仙花数(其中,"^"表示乘方,5^3表示5的3次方,也就是立方). 当N=4时,1634满足条件,因为1^4+6^4+3^4+4^4=1634. 当N=5时,92727满足条件. 实际上,对N的每个取值,可能有多个数字满足条件. 程序的任务是:求当N=21时,所有满足条件的水仙花数.注意:这个整数有21

三位水仙花数

1 #include <stdio.h> 2 #include <math.h> 3 4 5 int main() 6 { 7 /*三位水仙花数 8 概念:若三位数ABC满足ABC=A^3+B^3+C^3,则称为三位水仙花数.例如153=1^3+5^3+3^3,所以 153是水仙花数 9 10 实现步骤: 11 1. 输入两个数,表示区间[a,b],由于求解的是三位的水仙花数,所以a>=100,b<=999,且b>a 12 2. 实现算法,设数num,分解百位,十

21位水仙花数(花朵数 )

问题就不描述了,简单说下思路. 思路:(1)暴力枚举21位数,然后一个个的计算,虽然能解,但是,时间不允许的. (2)枚举  0 -9 这10个数子在这个21位数中出现的次数.得到一种解后,再计算出这个21位数,然后与原来得到的解对比,看看0 - 9出现的次数是否一样,是,这个21位数就是一个解.用时不到30s. AC代码: import java.math.BigInteger; /*21位水仙花数 * 枚举每个数字出现的次数 * */ public class T08 { //记录0 - 9

【华为练习题 】 n位水仙花数(初级)

[华为练习题 ] n位水仙花数(初级) 题目 水仙花数又称阿姆斯特朗数. 水仙花数是指一个n 位数( n≥3 ),它的每个位上的数字的n 次幂之和等于它本身.(例如:1^3 + 5^3 + 3^3 = 153) 求输入的数字是否为水仙花数 解答 #include <iostream> #include <vector> using namespace std; bool isRight(int n){ vector<int> v; int sum = 0, tmp =

04-1. 水仙花数(20)

水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身.例 如:153 = 13 + 53+ 33. 本题要求编写程序,计算所有N位水仙花数. 输入格式: 输入在一行中给出一个正整数N(3<=N<=7). 输出格式: 按递增顺序输出所有N位水仙花数,每个数字占一行. 输入样例: 3 输出样例: 153 370 371 407 注:这里实现了最高7阶的水仙花,用了7个变量保存每一位的n次方结果(当n<7时,后面的几个变量会和0做乘法,所以不会影响<7阶

循环-11. 水仙花数(20)

水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身.例 如:153 = 13 + 53+ 33. 本题要求编写程序,计算所有N位水仙花数. 输入格式: 输入在一行中给出一个正整数N(3<=N<=7). 输出格式: 按递增顺序输出所有N位水仙花数,每个数字占一行. 输入样例: 3 输出样例: 153 370 371 此题借用他人的算法,十分简短. #include <iostream> #include <stdio.h> #inclu

循环-11. 水仙花数

循环-11. 水仙花数(20) 时间限制 2000 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 徐镜春(浙江大学) 水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身.例 如:153 = 13 + 53+ 33. 本题要求编写程序,计算所有N位水仙花数. 输入格式: 输入在一行中给出一个正整数N(3<=N<=7). 输出格式: 按递增顺序输出所有N位水仙花数,每个数字占一行. 输入样例: 3 输出样例: 1

水仙花数的解法

package cn; import java.lang.reflect.Method; /**  * 三位的水仙花数共有4个:153,370,371,407  *  */ public class DaffodilNumber { public static void main(String[] args) { method1(); /**  *  三位水仙花数是:153  * 三位水仙花数是:370  * 三位水仙花数是:371  * 三位水仙花数是:407  */ System.out.p

杭州电子科技大学Online Judge 之 “水仙花数(ID2010)”解题报告

杭州电子科技大学Online Judge 之 "水仙花数(ID2010)"解题报告 巧若拙(欢迎转载,但请注明出处:http://blog.csdn.net/qiaoruozhuo) Problem Description 水仙花数 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: "水仙花数"是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3. 现在要求输出所有在m和n范围内的水仙花数. Inpu