三位的水仙花数:\n\n输入一个三位的正整数n,\n\n输出100~n范围内所有的水仙花数。\n\n用函数判断一个整数是不是水仙花数,是返回1,不是返回0。\n\n主函数调用该函数,实现输出100~n之间的所有水仙花
时间: 2023-04-15 16:02:51 浏览: 103
水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
下面是一个实现输出100~n之间所有水仙花数的程序:
```python
def isNarcissisticNumber(num):
# 判断一个数是否为水仙花数
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
return sum == num
n = int(input("请输入一个三位的正整数:"))
for i in range(100, n+1):
if isNarcissisticNumber(i):
print(i)
```
程序中定义了一个函数isNarcissisticNumber,用于判断一个数是否为水仙花数。该函数首先将输入的数的每一位数字的立方相加,然后与原数比较,如果相等则返回1,否则返回0。
主函数中使用for循环遍历100~n之间的所有数,对每个数调用isNarcissisticNumber函数,如果返回值为1,则说明该数是水仙花数,将其输出即可。
相关问题
C语言:三位的水仙花数: 输入一个三位的正整数n, 输出100~n范围内所有的水仙花数。 用函数判断一个整数是不是水仙花数,是返回1,不是返回0。 主函数调用该函数,实现输出100~n之间的所有水仙花数。
```c
#include <stdio.h>
#include <math.h>
int isNarcissistic(int n);
int main()
{
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
printf("100~%d范围内的水仙花数有:", n);
for (int i = 100; i <= n; i++)
{
if (isNarcissistic(i))
{
printf("%d ", i);
}
}
return 0;
}
int isNarcissistic(int n)
{
int sum = 0;
int temp = n;
while (temp)
{
int digit = temp % 10;
sum += pow(digit, 3);
temp /= 10;
}
return sum == n;
}
```
三位的水仙花数: 输入一个三位的正整数n, 输出100~n范围内所有的水仙花数。 用函数判断一个整数是不是水仙花数,是返回1,不是返回0。 主函数调用该函数,实现输出100~n之间的所有水仙花数。 三位的水仙花数是指,该数的三个数字立方之和等于该数本身。
#include <stdio.h>
int isNarcissistic(int n) { // 判断是否为水仙花数
int a = n / 100; // 百位数
int b = n / 10 % 10; // 十位数
int c = n % 10; // 个位数
if (a*a*a + b*b*b + c*c*c == n) { // 判断是否符合条件
return 1; // 是水仙花数,返回1
} else {
return 0; // 不是水仙花数,返回0
}
}
int main() {
int n;
printf("请输入一个三位正整数n:");
scanf("%d", &n);
printf("100~%d范围内的水仙花数有:\n", n);
for (int i = 100; i <= n; i++) { // 遍历100~n的数
if (isNarcissistic(i)) { // 判断是否为水仙花数
printf("%d ", i); // 输出水仙花数
}
}
printf("\n");
return 0;
}
阅读全文