首页 > 代码库 > [华为机试练习题]58.查找同构数的数量
[华为机试练习题]58.查找同构数的数量
题目
描写叙述:
找出1至n之间同构数的个数。同构数是这样一组数:它出如今平方数的右边。比如:5是25右边的数。25是625右边的数,5和25都是同构数。
具体描写叙述:
接口说明
原型:
intSearchSameConstructNum(int n);
输入參数:
int n:查找1至n之间的所有同构数
返回值:
int:1至n之间同构数的个数
练习阶段:
0基础
代码
/*---------------------------------------
* 日期: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.查找同构数的数量
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。