1. 程式人生 > >[華為機試練習題]58.查詢同構數的數量

[華為機試練習題]58.查詢同構數的數量

題目

描述:

找出1至n之間同構數的個數。同構數是這樣一組數:它出現在平方數的右邊。例如:5是25右邊的數,25是625右邊的數,5和25都是同構數。

詳細描述:

介面說明
原型:

intSearchSameConstructNum(int n);

輸入引數:

int n:查詢1至n之間的全部同構數

返回值:

int:1至n之間同構數的個數

練習階段:

初級 

程式碼

/*---------------------------------------
*   日期:2015-07-05
*   作者:SJF0115
*   題目:查詢同構數的數量
*   來源:華為機試練習題
-----------------------------------------*/
#include <iostream> #include "OJ.h" #include <vector> #include <cmath> #include <algorithm> using namespace std; /* 功能:找出1至n之間同構數的個數 輸入: int n:查詢1至n之間的全部同構數 返回: int:1至n之間同構數的個數 */ int SearchSameConstructNum(int n){ int square,tmp; int count = 0; for(int i = 1
;i <= n;++i){ square = i * i; tmp = i; while(tmp){ if(square % 10 != tmp % 10){ break; }//if square /= 10; tmp /= 10; }//while if(tmp == 0){ ++count; }//if }//for return count; }