链接http://acm.swust.edu.cn/problem/0031/
#include <stdio.h> int main() { void swap(int &a,int &b); bool waterfairy(int num); int left,right; bool judge; while(scanf("%d %d",&left,&right)&&left!=0&&right!=0) { judge=false; swap(left,right); for(int i=left;i<=right;i++) { if(waterfairy(i)) { printf("%d ",i); judge=true; } } if(!judge) { printf("no"); } printf("\n"); } return 0; } void swap(int &a,int &b) { if(a>b) { int temp=a; a=b; b=temp; } } bool waterfairy(int num) { int temp=num; int sum=0; while(temp) { sum+=(temp%10)*(temp%10)*(temp%10); temp/=10; } if(sum==num) { return true; } else { return false; } }