[华为机试练习题]58.查找同构数的数量

来源:互联网 发布:轻淘客和淘宝联盟区别 编辑:程序博客网 时间:2024/05/22 07:02

题目

描述:

找出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;}
2 0
原创粉丝点击