南開百題難題破解(4)

題目要求:

判斷一個數是不是迴文數

"迴文數"是一種數字。如:98789, 這個數字正讀是98789,倒讀也是98789,正讀倒讀一樣,所以這個數字就是迴文數

解答如下:

/*
整體的思路是將數字的各位全部逆轉,比較原數個逆轉後的數
看是否相等,若相等,則該數爲迴文數。
*/
int jsValue(long n)
{
	long tem=n;//將n的值放到臨時變量tem裏邊
	long i;//i中存放逆轉後的數
	i=tem%10;//將原數的個位先放到i中
	tem=tem/10;//將原數的個位去掉,產生出一個新的數
	//將tem的每個位逐漸去掉,只要tem還有位(即tem不等於零),該循環就會繼續
	while(tem)
	{
		i=i*10+tem%10;//將tem的個位再次存放到i中,原來的個位數變成了十位數,原來的十位數將變爲百位數
		tem=tem/10;//去掉tem中已經放到i中的那位數
	}
	if(i==n)//判斷逆轉後的數和原數是否相等
		return 1;
	else 
		return 0;
}


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章