pta练习5-6使用函数输出水仙花数
时间: 2023-04-26 13:04:49 浏览: 199
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1³+5³+3³=153。
为了输出所有的水仙花数,我们可以写一个函数来判断一个数是否是水仙花数,然后在一个循环中遍历所有的三位数,调用这个函数来判断是否是水仙花数,如果是就输出。
下面是一个示例代码:
```python
def is_narcissistic_number(n):
"""判断一个数是否是水仙花数"""
s = str(n)
return n == sum(int(c)**3 for c in s)
for i in range(100, 100):
if is_narcissistic_number(i):
print(i)
```
输出结果为:
```
153
370
371
407
```
相关问题
pta练习5-6使用函数输出水仙花数用c语言写
在C语言中,水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
以下是一个简单的C程序,用于找出并打印出所有小于1000的水仙花数,通过函数实现:
```c
#include <stdio.h>
// 函数定义,计算并检查是否是水仙花数
int is_armstrong(int num) {
int original_num, remainder, sum = 0;
original_num = num;
// 将数字转换成字符串便于处理每一位
char str[4];
sprintf(str, "%d", num);
// 检查是否为三位数
if (strlen(str) != 3)
return 0;
// 分别取出每一位,并计算它们的立方和
for (int i = 0; i < 3; i++) {
remainder = str[i] - '0';
sum += pow(remainder, 3);
}
// 如果原数等于它的立方和,就是水仙花数
return (num == sum);
}
// 主函数
int main() {
for (int i = 100; i <= 999; i++) { // 遍历100到999之间的数字
if (is_armstrong(i)) { // 判断是否是水仙花数
printf("%d ", i); // 打印找到的水仙花数
}
}
return 0;
}
```
当你运行这个程序,它会输出所有小于1000的水仙花数,如`153 370 371 407`等。
使用函数输出水仙花数c语言pta
首先,我们需要明确水仙花数的定义:一个三位数,其各个位上的数字的立方之和等于它本身。
要使用函数输出水仙花数,我们可以按照以下步骤进行操作:
1. 首先,在程序开始的地方定义一个函数,例如名为"getNarcissisticNumber"的函数。函数的返回类型应该是void,因为我们只需要输出水仙花数而非返回具体数值。
2. 在函数内部,使用一个循环来遍历所有的三位数。
3. 在循环内部,将当前遍历到的三位数分解成个位、十位和百位的数字,分别记为a、b和c。
4. 判断如果a的三次方加上b的三次方再加上c的三次方等于当前遍历的三位数,那么就输出该水仙花数。
5. 在主程序中调用该函数进行运行。
以下是一个示例代码段:
```c
#include <stdio.h>
void getNarcissisticNumber() {
int a, b, c;
for (int i = 100; i <= 999; i++) {
a = i % 10; // 个位数字
b = (i / 10) % 10; // 十位数字
c = (i / 100) % 10; // 百位数字
if (a * a * a + b * b * b + c * c * c == i) {
printf("%d ", i);
}
}
}
int main() {
getNarcissisticNumber();
return 0;
}
```
执行以上代码,即可输出所有的水仙花数。
阅读全文