多位数水仙花数pta
时间: 2024-03-18 08:36:48 浏览: 25
多位数水仙花数是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。例如,153是一个三位数水仙花数,因为1^3 + 5^3 + 3^3 = 153。
PTA(Programming Test Assistant)是一个在线编程练习平台,提供了大量的编程题目供学习和练习。在PTA上,你可以通过完成编程题目来提升自己的编程能力。
相关问题
pta水仙花数c++
PTA水仙花数C++是一个计算水仙花数的程序,水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。该程序通过输入一个范围内的数字,计算出该范围内所有的水仙花数,并输出。程序使用了两个函数,一个是判断一个数是否为水仙花数的函数narcissistic,另一个是输出一个范围内所有水仙花数的函数PrintN。
水仙花数pta
水仙花数是指一个 n 位正整数 (n≥3),它的每个位上的数字的 n 次幂之和等于它本身。例如:$371=3^3+7^3+1^3$。如果你想在 PTA 上做水仙花数的题目,可以参考以下 C 语言代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int m, n, i;
scanf("%d %d", &m, &n);
int flag = 0; // 用于判断是否找到水仙花数
for(i = m; i <= n; i++)
{
int sum = 0; // 用于存储每个数字的 n 次方和
int temp = i;
int k = 0;
while(temp)
{
k++;
temp /= 10;
}
temp = i;
while(temp)
{
int digit = temp % 10; // 取出每一位数字
sum += pow(digit, k); // 计算 n 次方和
temp /= 10;
}
if(sum == i) // 如果是水仙花数,输出
{
printf("%d ", i);
flag = 1;
}
}
if(flag == 0) // 如果没有找到水仙花数,输出无
printf("no");
return 0;
}
```
这个程序可以根据用户输入的 m 和 n 的范围,输出 m 到 n 中的所有水仙花数。