`

问题2: 打印"水仙花数 "

阅读更多
分析:水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方
public class Daffodils {
	public static void main(String[] args) {
		for (long n = 100; n < 1000; n++) {
			if (match(n)) {
				System.out.print(n + "\t");
			}
		}
	}

	private static boolean match(long n) {
		// 数字位数
		int count = (n + "").length();
		// 每一位数字
		long temp = 0;
		// 辗转相除的余数,即由数字分裂得到
		long num = n;
		// 每一位数字的count次方和
		long sum = 0;
		for (int i = count; i > 0; i--) {
			temp = num / (long) Math.pow(10, i - 1);
			num = num % (long) Math.pow(10, i - 1);
			sum += (long) Math.pow(temp, count);
		}
		return sum == n;
	}
}
分享到:
评论

相关推荐

    JavaScript打印水仙花数

    JavaScript打印水仙花数

    求水仙花数

    下面是一个简单的C#代码示例,用于查找并打印100到1000之间的所有水仙花数: ```csharp using System; class Program { static void Main() { Console.WriteLine("水仙花数:"); for (int i = 100; i ; i++) ...

    java 打印出所有的水仙花数

    ### Java打印所有水仙花数的知识点解析 #### 一、水仙花数定义与特点 水仙花数(Narcissistic number)是指一个 n 位正整数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个3位数,1^3 + 5^3 +...

    水仙花数问题

    打印水仙花数出来,自己写的简短代码,通过调试

    利用c++语言求水仙花数(100-999).rar

    这个编程任务是使用C++语言来找出100到999之间的所有水仙花数,并将它们打印到屏幕上。 首先,我们需要理解C++的基础语法。C++是一种静态类型的、编译式的、通用的、大小写敏感的、不仅支持过程化编程,也支持面向...

    打印出水仙花数 C++

    在编程领域,"水仙花数"是一个经典的算法问题,主要涉及到数字处理和循环控制。水仙花数是指一个三位数,它的每个位上的数字(个位、十位、百位)立方和等于该数本身。例如,153就是一个水仙花数,因为1的三次方加上...

    C语言编程求水仙花数

    当运行这段代码时,程序会找出100到999之间的所有水仙花数并打印出来。通过这个练习,学习者可以熟悉C语言的循环、条件判断、数学运算以及数字处理的基本方法。 这个主题在IT教育中被广泛使用,因为它结合了基本的...

    求水仙花数C++,两种判断

    在上述代码中,`findNarcissisticInRange`函数接受两个参数,分别表示范围的起始和结束值,然后遍历这个范围内的每一个数,如果找到水仙花数就打印出来。 这两种算法虽然简单,但对于初学者来说,可以帮助理解数字...

    水仙花数.rar

    接着,程序通过for循环遍历100到999的范围,对每个数字调用`is_narcissistic_number`函数,并打印出所有的水仙花数。 学习这个例子,你可以了解以下几个Python编程的知识点: 1. **函数定义**:`def`关键字用于...

    打印出水仙花数

    编程,打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153=1*1*1+5*5*5+3*3*3,所以是“水仙花数”。

    输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。

    输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。

    while循环实现水仙花数

    首先什么是水仙花数? 水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。 输入代码: #include #include&lt;math.h&gt; main() { int a,b,c,n; n = 100; ...

    python使用循环打印所有三位数水仙花数的实例

    首先水仙花数是什么? 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 ...

    汇编水仙花数

    汇编水仙花题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位 数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次 方+5的三次方+3的三次方。

    21位水仙花数JAVA代码

    根据给定的信息,本文将详细解析“21位水仙花数JAVA代码”的知识点,包括其定义、实现原理以及代码解读。 ### 一、水仙花数简介 水仙花数是一个n位正整数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如...

    C语言水仙花:水仙花数的求法输入一个数求它是否是水仙花数

    在处理水仙花数问题时,我们会用到这些基本元素。 以下是求解水仙花数的一个C语言程序示例: ```c #include int isNarcissistic(int num) { int sum = 0, digit; while (num &gt; 0) { digit = num % 10; // ...

    水仙花数 delphi

    如果等式成立,那么该数就是一个水仙花数,并被打印出来。 具体实现步骤如下: 1. 使用变量`i`存储百位数,通过`i:=mdiv100;`计算得到。 2. 使用变量`n`存储十位数,通过`n:=(mdiv10)mod10;`计算得到。 3. 使用变量...

    VB 水仙花数

    在主程序中,当找到一个水仙花数时,就会通过`Console.WriteLine`打印出来,直到所有可能的数都被检查完。最后,`Console.ReadLine()`用于暂停程序,让用户有机会查看输出结果。 通过这个VB程序,我们可以了解到...

    水仙花数语言

    以下是一个简单的C语言程序,用于查找并打印100到999之间的所有水仙花数: ```c #include int main() { int num, digit, temp, sum = 0; printf("水仙花数(阿姆斯特朗数):\n"); // 遍历100到999之间的...

    delphi水仙花数

    在编程领域,水仙花数是指一个三位数,它的每一位数字的立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。Delphi是一种基于Pascal语言的集成开发环境(IDE),用于创建Windows、Mac OS X、...

Global site tag (gtag.js) - Google Analytics