首页 > 其他 > 详细

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

时间:2015-07-05 21:16:39      阅读:347      评论:0      收藏:0      [点我收藏+]

题目

描述:

找出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;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

原文:http://blog.csdn.net/sunnyyoona/article/details/46765475

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!