题解 | #变种水仙花#
变种水仙花
https://www.nowcoder.com/practice/c178e3f5cc4641dfbc8b020ae79e2b71
#include <stdio.h> int main() { int sum0[5] = { 0 }; for (int i = 10000; i <= 99999; i++) { int j = i; int sum = 0; for (int h=0; h<=3;h++) { int m = (j / pow(10, h + 1)); int n = (j % (int)pow(10, h + 1)); //h为控制小sum,k为控制位数相关 //前者为万位,后者为千百个位, //再次时前者为千万位,后者为百个位 sum0[h] = m * n; sum = sum + sum0[h]; } if (sum == i) { printf("%d ", i); } } return 0; }