Stay determined.

蓝桥杯基础练习 BASIC-7.特殊的数字(水题)

Posted on By Yang Guang
Viewed   times

问题描述
  153是一个非常特殊的数,它等于它的每位数字的立方和,即153=111+555+333。编程求所有满足这种条件的三位十进制数。
输出格式
  按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。

简单的枚举。

#include <stdio.h>

	#include <stdio.h>

	int main(int argc, char *argv[]) {
		int n;
		n=3;

		int first =1;
		int k=1;
		while(k<n){
			first*=10;
			k++;
		}
		int i = first;
		while(i<first*10){
			int d;
			int t;
			t = i;
			int sum=0;    
			do{
				d=t%10;
				t/=10;
				int x=0;
				int y=1;
				while(x<n){
					y*=d;
					x++;
				}
				sum+=y;
			}while(t>0);
			
			if(sum == i){
				printf("%d\n",i);
			}
			i++;
		}
		return 0;
	}



================================================================================================