“水仙花数”是指一个三位数字的整数,其个位、十位、百位上的数字的立方和等于该整数本身。例如,153是“水仙花数”,因为153=1³+33³+53³。 用c语言编写:采用循环编程输出所有的水仙花数,计算总共有多少个水仙花数。当数据不是水仙花数时使用continue语句跳过其后面的语句。将找到水仙花数输出到屏幕上,且要求每行输出3个数,数与数之间有空格间隔。水仙花数的总个数单独一行输出。(不是水仙花数的数不要输出。)
时间: 2023-05-15 13:07:46 浏览: 170
以下是C语言代码:
#include <stdio.h>
int main() {
int count = 0; // 计数器,记录水仙花数的个数
for (int i = 100; i <= 999; i++) {
int a = i / 100; // 百位数
int b = (i / 10) % 10; // 十位数
int c = i % 10; // 个位数
if (i == a*a*a + b*b*b + c*c*c) { // 判断是否为水仙花数
printf("%d ", i); // 输出水仙花数
count++; // 计数器加1
if (count % 3 == 0) { // 每行输出3个数
printf("\n"); // 换行
}
} else {
continue; // 不是水仙花数,跳过后面的语句
}
}
printf("\n水仙花数的总个数为:%d\n", count); // 输出水仙花数的总个数
return 0;
}
输出结果如下:
153 370 371
407
水仙花数的总个数为:4
相关问题
Java编写程序编写应用程序求所有的水仙花数。水仙花数是指一个三位数,其个、十、百位上的数字立方之和等于该数本身。
在Java中,我们可以编写一个简单的函数来找出所有的水仙花数。首先,我们需要明确的是,水仙花数只存在于三位整数范围内。下面是一个示例函数来实现这个功能:
```java
public class NarcissisticNumber {
public static void findNarcissisticNumbers(int max) {
for (int i = 100; i <= max; ++i) {
int sumOfCubes = 0;
String numString = String.valueOf(i);
if (numString.length() != 3) continue;
for (char digit : numString.toCharArray()) {
int digitValue = Character.getNumericValue(digit);
sumOfCubes += Math.pow(digitValue, 3);
}
if (sumOfCubes == i) {
System.out.println("找到了一个水仙花数: " + i);
}
}
}
// 主函数入口点
public static void main(String[] args) {
findNarcissisticNumbers(999); // 搜索范围可以调整,这里是最大的三位数
}
}
```
在这个程序中,我们遍历从100到给定的最大值的所有三位数,计算每个数各位上数字立方的和,如果和等于原数本身,则认为它是一个水仙花数。
输出给定正整数m和n区间内的所有三位水仙花数。三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身。
以下是Python代码实现:
m = int(input("请输入区间左端点m:"))
n = int(input("请输入区间右端点n:"))
for i in range(m, n+1):
a = i // 100 # 百位数
b = (i // 10) % 10 # 十位数
c = i % 10 # 个位数
if i == a**3 + b**3 + c**3:
print(i)
输出结果为区间内的所有三位水仙花数。
阅读全文