酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

水仙花数是指一个n位正整数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如:153=1 3 +5 3 +3 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 narc

```c #include <stdio.h> int narcissistic( int number ) { int digit, sum = 0, originalNumber = number; int numDigits = 0; int temp = number; while (temp!= 0) { temp /= 10; numDigits++; } while (number!= 0) { digit = number % 10; int power = 1; for (int i = 0; i < numDigits; i++) { power *= digit; } sum += power; number /= 10; } if (sum == originalNumber) { return 1; } else { return 0; } } void printn( int m, int n ) { for (int i = m + 1; i < n; i++) { if (narcissistic(i)) { printf("%d\n", i); } } } int main() { int m, n; scanf("%d %d", &m, &n); if ( narcissistic(m) ) printf("%d is a narcissistic number\n", m); printn(m, n); return 0; } ``` [2024-11-18 21:14:13 | AI写代码神器 | 306点数解答]

相关提问