首页 > 代码库 > 查找同构数的数量
查找同构数的数量
#include "OJ.h" #include <iostream> using namespace std; bool isSameConstructNum(int m)//判断m是否是同构数 { int squareM = m*m; int initialM = m*m; int temp = 0; int partialNum =0; int interNum = 1;//存储对应位数需要成的倍数,个位乘1,十位乘10 while (squareM != 0) { temp = squareM %10; partialNum +=temp * interNum; if (partialNum * partialNum == initialM) { cout<<m<<endl; return true; } squareM = squareM/10; interNum *= 10; } return false; } /* 功能:找出1至n之间同构数的个数 输入: int n:查找1至n之间的全部同构数 返回: int:1至n之间同构数的个数 */ int SearchSameConstructNum(int n) { /*在这里实现功能*/ int num=0; for (int i =1 ;i <= n; ++i) { if (isSameConstructNum(i)) { num++; } } return num; } int main() { int m ; while (cin>>m) { cout<<SearchSameConstructNum(m)<<endl; } return 0; }
查找同构数的数量
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。