水仙数练习循坏

include<stdio.h>

int main()
{
int n,d;
scanf("%d",&n);
int f=1;
int i=1;
while(i<n)
{
f=f*10;
i++;
}

i=f;
//遍历n位的所有数 
while(i<f*10){
//操作容易对i造成破坏,故用t来替换i 
	int t=i;
	int s=0;
	 
while(t>0)
{

		d=t%10;
		t=t/10;
		int p=d;
		int j=1;
		while(j<n)
		{p=p*d;
		j++;
		}
		s=s+p;
	}
	//用两个循坏实现累加 
	if(s==i)
	printf("%d\n",i);
	i++;}
}
posted @ 2025-11-06 16:10  KO01  阅读(7)  评论(0)    收藏  举报