编写程序:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数 字立方和等于该数本身。
时间: 2024-12-24 13:16:49 浏览: 1
要编写一个程序来找出所有的水仙花数(也称为 Narcissistic Number),你可以遍历从100到999之间的所有整数,检查它们是否满足条件:每个数字(百位、十位和个位)的立方和等于原数。下面是使用C语言编写的简单程序:
```c
#include <stdio.h>
int main() {
int num, hundreds, tens, units;
// 遍历3位数范围内的每一个数
for (num = 100; num <= 999; num++) {
// 分离每位数字
hundreds = num / 100;
tens = (num % 100) / 10;
units = num % 10;
// 检查每位数立方和是否等于原数
if (hundreds * hundreds * hundreds + tens * tens * tens + units * units * units == num) {
printf("%d is a Narcissistic number.\n", num);
}
}
return 0;
}
```
这个程序会打印出所有符合条件的水仙花数。
相关问题
编写程序:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。Java
编写Java程序来找出所有的“水仙花数”(也称为纳西素斯数),你可以采用以下步骤:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int num = 100; num <= 999; num++) {
if (isNarcissistic(num)) {
System.out.println(num);
}
}
}
// 检查一个数是否是水仙花数的方法
private static boolean isNarcissistic(int number) {
int百位 = number / 100;
int十位 = (number % 100) / 10;
int个位 = number % 10;
// 计算各个位数立方之和
int sumOfCubes = Math.pow(bai位, 3) + Math.pow(ten位, 3) + Math.pow(个位, 3);
return sumOfCubes == number;
}
}
```
这个程序首先通过一个for循环遍历100到999的所有整数,然后对每个数调用`isNarcissistic`方法检查它是否满足条件(即各个位数立方和等于原数)。如果是,就将其打印出来。
用c语言编写程序:输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和 等于该数本身。例如,153是一水仙花数,因为153=13 +53 +33。
好的,这个问题可以回答。下面是C语言程序的代码:
#include <stdio.h>
int main()
{
int i, j, k, n;
for (n = 100; n < 1000; n++) {
i = n / 100;
j = (n % 100) / 10;
k = n % 10;
if (i*i*i + j*j*j + k*k*k == n) {
printf("%d\n", n);
}
}
return 0;
}
输出结果为:
153
370
371
407
这些数字就是三位“水仙花数”。
阅读全文