#include <stdio.h> int main() { long i,sum; for(i=10000;(i>=10000)&&(i<=99999);i++)//范围 { long lily,lily1,lily2,lily3,lily4,lily5,lily6,lily7,lily8; lily1=i/10000;//第一种情况,如12345->1,2345,以下类推 lily2=i%10000; lily3=i/1000; lily4=i%1000; lily5=i/100; lily6=i%100; lily7=i/10; lily8=i%10; sum=(lily1*lily2)+(lily3*lily4)+(lily5*lily6)+(lily7*lily8);//变种水仙花 if(sum==i) { printf("%d ",i);//输出变种水仙花 } } return 0; }