1. 程式人生 > >程式設計與演算法......

程式設計與演算法......

把一個整數的每個數位都平方後求和,又得到一個整數,我們稱這個整數為:位平方和。

對新得到的整數仍然可以繼續這一運算過程。比如,給定整數為4,則一系列的運算結果為:

16,37,58,89,....

本題的要求是,已知一個整數x,求第n步的運算結果。

資料格式要求:
   輸入,兩個整數x n,中間以空格分開。表示求x的第n步位平方和。其中,x,y都大於0,且小於100000。
   輸出,一個整數,表示所求結果。

例如,

輸入:
4 3
則程式應該輸出:
58

再例如,
輸入:
1314 10
則程式應該輸出:
20

資源約定:
峰值記憶體消耗(含虛擬機器) < 256M
CPU消耗  < 1000ms

參考程式碼如下:

#include  <stdio.h>

int main()
{
	int m,n;
	int temp,sum;
	int i;

	scanf("%d%d",&m,&n);

	for(i=0;i<n;i++)
	{
		sum=0;
		while(m){
			sum=sum+(m%10)*(m%10);
			m=m/10;
		}
		m=sum;
	}

	printf("%d\n",sum);

	return 0;
}