水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1+5+3。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。 函数接口定义: int narcissistic( int number ); void PrintN( int m, int n ); 函数narcissistic判断number是否为水仙花数,是则返回1,否则返回0。 函数PrintN则打印开区间(m, n)内所有的水仙花数,每个数字占一行。题目保证100≤m≤n≤10000。 裁判测试程序样例: #include <stdio.h> int narcissistic( int number ); void PrintN( int m, int n ); int main() { int m, n; scanf("%d %d", &m, &n); if ( narcissistic(m) ) printf("%d is a narcissistic number\n", m); PrintN(m, n); if ( narcissistic(n) ) printf("%d is a narcissistic number\n", n); return 0; } /* 你的代码将被嵌在这里 */ 输入样例: 153 400 输出样例: 153 is a narcissistic number 370 371 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB C (gcc) 1 测试用例 上一题 查看上次提交 提交本题作答 下一题
时间: 2024-01-31 16:04:38 浏览: 74
```c
#include <stdio.h>
#include <math.h>
int narcissistic(int number) {
int temp = number, sum = 0;
int n = 0;
while (temp > 0) {
n++;
temp /= 10;
}
temp = number;
while (temp > 0) {
int digit = temp % 10;
sum += pow(digit, n);
temp /= 10;
}
return sum == number;
}
void PrintN(int m, int n) {
int flag = 0;
for (int i = m + 1; i < n; i++) {
if (narcissistic(i)) {
if (flag) {
printf(" ");
}
printf("%d", i);
flag = 1;
}
}
if (flag) {
printf("\n");
}
}
```
思路解析:
1.判断一个数是否为水仙花数,根据题意,需要先求出这个数的位数n,然后分解出每个位上的数字,将其n次幂累加起来,最后与原数比较是否相等。
2.打印区间(m, n)内所有的水仙花数,只需要遍历区间内的每个数,然后调用判断水仙花数的函数,如果是水仙花数则打印出来即可。
阅读全文
相关推荐
![xlsx](https://img-home.csdnimg.cn/images/20241231045042.png)
![py](https://img-home.csdnimg.cn/images/20250102104920.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)