回复 楼主 a1295870605
											#include<stdio.h>
#include<math.h>
int digit[10];
int main()
{
    int i,num;int idx;
    for(i=10;i<30;i++)
    {
        memset(digit,0,10*sizeof(int));
        num=pow(i,2);
        if(num>999){printf("没有满足条%d件的数。\n",num);break;}
        num=pow(i,3);
        if(num>9999){printf("没有满足条件的数。\n");break;}
        do
        {
            digit[num%10]++;
            num/=10;
        }while(num);
        num=pow(i,4);
        if(num>999999){printf("没有满足条件的数。\n");break;}
        do
        {
            digit[num%10]++;
            num/=10;
        }while(num);
        for(idx=0;idx<10;idx++)
            if(digit[idx]!=1)
                break;
        if(idx==10)
        {
            printf("满足条件的是:%d\n",i);break;
        }
    }
    return 0;
}