水仙花数是指一个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
计算完毕!
分享到:
相关推荐
本次课程设计旨在通过一个具体问题——打印水仙花数,来让学生深入理解汇编语言程序设计的复杂性和精妙之处,同时也锻炼学生在实际应用中解决问题的能力。 首先,让我们明确什么是水仙花数。在数论中,水仙花数是一...
水仙花数问题则是一类有趣的数字属性问题。在C语言中,我们通过循环遍历所有三位数,并分解出每一位数字,再将它们各自立方并求和,最后与原数比较。如果立方和等于原数,则该数称为水仙花数。这类问题可以推广到更...
本程序通过三层嵌套循环对所有三位数进行检查,找出所有的水仙花数并输出。 最后,我们来探讨分解质因数的程序。分解质因数是将一个正整数分解为若干个质数的乘积,这是数论中的一个基本问题。在编程实现时,我们...
教案随后介绍了计算机能够解决的一系列数学问题,如斐波那契数列、水仙花数、素数的求解以及著名的四色问题。这些数学问题不仅因其内在的数学美而引人入胜,更是在计算机科学领域中算法设计和优化的重要挑战。...
11. **水仙花数**:水仙花数是指三位数,其每一位立方和等于它本身,例如153。通过循环遍历100到999,检查每个数是否满足水仙花数的条件。 通过这个实验,学习者可以增强MATLAB编程能力,理解并熟练运用各种控制...
第三个问题是关于水仙花数的。水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153是水仙花数,因为1^3 + 5^3 + 3^3 = 153。要解决这个问题,我们需要遍历所有的三位数,并对每一个数进行分解,将其...
“循环与数字操作”方面,我们可以从一个有趣的数学现象——“水仙花数”开始。水仙花数是指一个三位数,其各位数字的立方和等于该数本身。通过编写程序来遍历所有的三位数,并使用取余数和整除操作来分别获取每个数...
【程序3】水仙花数的问题则是一个经典的数值逻辑问题。它要求编写程序找到所有满足特定数学特征的数字——即一个三位数的每个位上的数字的立方之和等于该数本身。这个程序涉及了基本的数值操作,包括整数的除法和...
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 ...
#### 知识点十三:打印“水仙花数” - **核心概念**:数字运算与判断。 - **实现思路**:遍历100到999之间的所有数字,检查每个数的各位数字立方和是否等于原数本身。 #### 知识点十四:正整数分解质因数 - **核心...