欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PTA题目-水仙花数C语言

程序员文章站 2022-07-15 08:53:41
...
#include <stdio.h>

int main(void)
{
	int n;
	scanf("%d",&n);	//输入整数的位数
	//获取当前位数对应的起始数 
	int first=1;
	int i,j;
	for(i=1;i<n;i++){
		first*=10;
	}
	j=first;
	//遍历max-10*max-1 
	while(j<first*10){
		int t=j;
		int sum=0;
		do{
			int d;
			d=t%10;
			t/=10;
			int k;
			int p=d;
			for(k=1;k<n;k++){
				p*=d;
			}
			sum+=p;
		}while(t>0);
		if(sum==j){
			printf("%d\n",j);
		}
		j++;
	}
	return 0; 
}

 

相关标签: c算法