`

水仙花数——数论问题系列

阅读更多
水仙花数是指一个n位正整数(n>=3),它的每个位上的数字的n次幂之和等于它本身。

例如:

153=1^3+5^3+3^3
370=3^3+7^3+0^3
1634=1^4+6^4+3^4+4^4

算法实现,输入水仙花的位数n,便会查找出所有位数为n的水仙花数。

代码如下:

import java.util.Scanner;
public class NarcissusFew {

	/**
	 * @param args
	 */
	//判断是否为水仙花数
	static void isNarcissusFew(int para,int n)
	{
		int sum=0;
		int temp=para;
		int num;
		//计算每位的n次方之和
		for(int i=0;i<n;i++)
		{
			num=temp%10;
			sum+=Math.pow(num, n);
			temp=temp/10;
		}
		if(sum==para)
		{
			System.out.println(para);
		}
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int N;
		System.out.print("请输入水仙花的位数:");
		Scanner input = new Scanner(System.in);
		N=input.nextInt();
		int start =(int)Math.pow(10, (N-1));
		int end = (int)(Math.pow(10,N)-1);
		System.out.println("三位数的范围为"+start+"~"+end);
		System.out.println("列举"+N+"位的水仙花!");
		for(int i=start;i<=end;i++)
		{
			isNarcissusFew(i,N);
		}
		System.out.print("计算完毕!");

	}

}



结果如下:

请输入水仙花的位数:4
三位数的范围为1000~9999
列举4位的水仙花!
1634
8208
9474
计算完毕!
分享到:
评论

相关推荐

    汇编课程设计报告1

    本次课程设计旨在通过一个具体问题——打印水仙花数,来让学生深入理解汇编语言程序设计的复杂性和精妙之处,同时也锻炼学生在实际应用中解决问题的能力。 首先,让我们明确什么是水仙花数。在数论中,水仙花数是一...

    c语言100个经典算法

    水仙花数问题则是一类有趣的数字属性问题。在C语言中,我们通过循环遍历所有三位数,并分解出每一位数字,再将它们各自立方并求和,最后与原数比较。如果立方和等于原数,则该数称为水仙花数。这类问题可以推广到更...

    最新java编程题目

    本程序通过三层嵌套循环对所有三位数进行检查,找出所有的水仙花数并输出。 最后,我们来探讨分解质因数的程序。分解质因数是将一个正整数分解为若干个质数的乘积,这是数论中的一个基本问题。在编程实现时,我们...

    程序中的数学PPT学习教案.pptx

    教案随后介绍了计算机能够解决的一系列数学问题,如斐波那契数列、水仙花数、素数的求解以及著名的四色问题。这些数学问题不仅因其内在的数学美而引人入胜,更是在计算机科学领域中算法设计和优化的重要挑战。...

    实验五 M文件资料和MATLAB程序设计.docx

    11. **水仙花数**:水仙花数是指三位数,其每一位立方和等于它本身,例如153。通过循环遍历100到999,检查每个数是否满足水仙花数的条件。 通过这个实验,学习者可以增强MATLAB编程能力,理解并熟练运用各种控制...

    2017JAVA算法编程题全集(中级)

    第三个问题是关于水仙花数的。水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153是水仙花数,因为1^3 + 5^3 + 3^3 = 153。要解决这个问题,我们需要遍历所有的三位数,并对每一个数进行分解,将其...

    经典c程序100例

    “循环与数字操作”方面,我们可以从一个有趣的数学现象——“水仙花数”开始。水仙花数是指一个三位数,其各位数字的立方和等于该数本身。通过编写程序来遍历所有的三位数,并使用取余数和整除操作来分别获取每个数...

    java初学者48个小例子.doc

    【程序3】水仙花数的问题则是一个经典的数值逻辑问题。它要求编写程序找到所有满足特定数学特征的数字——即一个三位数的每个位上的数字的立方之和等于该数本身。这个程序涉及了基本的数值操作,包括整数的除法和...

    C/C++常用算法手册.秦姣华(有详细书签).rar

    9.4.2 计算水仙花数算法 281 9.5 自守数 283 9.5.1 自守数概述 283 9.5.2 计算自守数算法 284 9.6 最大公约数 287 9.6.1 计算最大公约数算法——搌转相除法 287 9.6.2 计算最大公约数算法一一Stein算法 288 ...

    c算法经典例题

    #### 知识点十三:打印“水仙花数” - **核心概念**:数字运算与判断。 - **实现思路**:遍历100到999之间的所有数字,检查每个数的各位数字立方和是否等于原数本身。 #### 知识点十四:正整数分解质因数 - **核心...

Global site tag (gtag.js) - Google Analytics