Bootstrap

【C语言练习题】圣经数

题目:

人们把153叫做“圣经数”,因为153具有一个有趣的性质:任写一个3的倍数,把各位数字的立方和相加,得出和,再把和的各位数字立方相加,如此反复进行,最后必然出现153。例如:24是3的倍数,按照上述规则,进行变换的过程是:

24→23+43→72(第1次变换)

72→73+23→351(第2次变换)

351→33+53+13→153(第3次变换)

经过3次变换,153出现了!请你给出能够被3整除的正整数,输出变成153所需要的次数,当输入的数不是3的倍数时,提示输出“Error!”

输入格式:

输入在一行中给出1个能够被3整除的正整数。

输出格式:

对每一组输入,在一行中输出变换成圣经数所需要的次数。

输入样例1:

12

输出样例1:

count=5

输入样例2:

123

输出样例2:

count=7

输入样例3:

17

输出样例3:

Error!

代码实现:

#include <stdio.h>
#include <math.h>
int main()
{
	int n, count = 1, s = 0;
	scanf("%d", &n);
	if(n%3!=0){
		printf("Error!");
		return 0;
	}
	if(n == 153){
		printf("count=1");
		return 0;
	}
	while(n != 0){
		s = s+pow(n%10, 3);
		n = n/10;
	}
	while(s != 153){
		n = s;
		s = 0;
		while(n != 0){
		    s = s+pow(n%10, 3);
		    n = n/10;
	    }
	    count++;
	}
	printf("count=%d", count);
	return 0;
}

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;