题解 | #水仙花数#
水仙花数
https://www.nowcoder.com/practice/dc943274e8254a9eb074298fb2084703
#include <stdio.h> //定义一个函数,用来计算输入数字的各位数上的立方和 int slice_lifang(int n) { int sum = 0; int a = 0; for (; n != 0; n /= 10) { //每次循环除以10,抹除该数的最后一位 a = n % 10; //n%10, 取出该数的最后一位 sum += a * a * a; } return sum; } int main() { int num1 = 0,num2 = 0; int a = 0,j = 0; while(scanf("%d %d",&num1,&num2) != EOF){ //多行输入 for (int i = num1 ; i <= num2 ;i++){ //在题目所给的范围内取值遍历 a = slice_lifang(i); if(a == i ){ //判断遍历的数如果满足条件,则计数+1 j += 1; printf("%d ",a); } else{ continue; } } if (0 == j){ //计数为0,则输出no printf("no\n"); } } }