二、题目: 排它平方数
小明正看着 203879 这个数字发呆。

原来,203879 * 203879 = 41566646641
这有什么神奇呢?仔细观察,203879 是个6位数,并且它的每个数位上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。
具有这样特点的6位数还有一个,请你找出它!
再归纳一下筛选要求:

  1. 6位正整数
  2. 每个数位上的数字不同
  3. 其平方数的每个数位不含原数字的任何组成数位

**分析思路:**看到这样的题目,首先考虑递归,枚举,暴力解法等。
题目中要求在0-9中不要有重复的数字,计算平方数并且不能有原有的数字,这是一个突破口,从平方想到

  • 0的平方为0
  • 1的平方为1
  • 5的平方为5
  • 6的平方为6
    以上这4个数字都不能作为原数字的最后一位,可以在最后一位排除
    第一位还不能为0

代码:

#include<iostream>
#include<sstream>
using namespace std;bool check(long long x,long long xx);  //6位数平方后会超出数据范围,定义为long long void i2s(long long x,string &basic_string);  //函数声明 int main(){int i,j,k,m,n,g;  //分别代表6位数字long long x;for(i=1;i<10;i++){for(j=0;j<10;j++){if(j!=i)for(k=0;k<10;k++){if(k!=i&&k!=j)for(m=0;m<10;m++){if(m!=k&&m!=i&&m!=j)for(n=0;n<10;n++){if(n!=m&&n!=j&&n!=i&&n!=k)for(g=0;g<10;g++){if(g!=n&&g!=m&&g!=k&&g!=j&&g!=k)long long s=i*100000+j*10000+k*1000+m*100+n*10+g; //采用二进制if(check(x,x*x)){cout<<x<<" "<<x*x<<endl;} }}}}}}return 0;
}
//检查ss中是否有s已经出现过的数字
bool check(long long x,long long xx){   //将整数转化为字符串来检查
string s_x,s_xx;//将整数转化为字符串来检查
i2s(x,s_x);  //转化
i2s(xx,s_xx);
for(int i=0;i<s_x.length();i++){if(s_xx.find(s_x[i])!=string::npos){  //不等于空的位置 return false;}
}
return true;
}void i2s(long long x,string &basic_string){  //引用 stringstream ss;ss<<x;ss>>basic_string;
}

运行结果
所以答案:639172

2013蓝桥杯C++A:排它平方数(递归,枚举,暴力解法)相关推荐

  1. 第七届蓝桥杯决赛真题 - 凑平方数-全排列+dfs+set去重

    题目: 凑平方数 把0~9这10个数字,分成多个组,每个组恰好是一个平方数,这是能够 办到的.比如:0, 36, 5948721再比如: 1098524736 1, 25, 6390784 0, 4, ...

  2. 标题 错误票据c语言,内含答案的 -- 2013蓝桥杯C语言本科组B.doc

    内含答案的 -- 2013蓝桥杯C语言本科组B.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们 ...

  3. 蓝桥杯历届-巧排扑克牌

    蓝桥杯历届-巧排扑克牌 小明刚上小学,学会了第一个扑克牌"魔术",到处给人表演.魔术的内容是这样的:他手里握着一叠扑克牌:A,2,....J,Q,K 一共13张.他先自己精心设计它 ...

  4. 【解题报告+通法】_九宫幻方 蓝桥杯 2017年C组第八题(dfs解法)

    题目描述 小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行.每一列和每一条对角线的和都是相同的. 三阶幻方又被 ...

  5. 蓝桥杯-基础练习-特殊回文数

    蓝桥杯-基础练习-特殊回文数 问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n . 输入格式 输 ...

  6. 【蓝桥杯VIP】试题 历届试题 带分数(满分 Python解法+Java解法)

    [蓝桥杯VIP]试题 历届试题 带分数(满分 Python解法+Java解法) 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 100 可以表示为带分数的形式:100 = 3 + 6 ...

  7. 2013蓝桥杯java试题_蓝桥杯2013决赛java本科b组试题.doc

    蓝桥杯2013决赛java本科b组试题.doc 试题一:公式求值问题描述输入n,m,k,输出下面公式的值.其中C_n^m是组合数,表示在n个人的集合中选出m个人组成一个集合的方案数.组合数的计算公式如 ...

  8. AcWing 蓝桥杯AB组辅导课 01、递归与递推

    文章目录 前言 一.递归 知识点 例题 题目1:AcWing 95.斐波那契数列[简单,递归写法] 题目2:AcWing 92.递归实现指数型枚举[简单] 题目3:AcWing 94.递归实现排列型枚 ...

  9. 【第十三届蓝桥杯省赛B组】统计子矩阵 (枚举前缀和+双指针)

    AcWing 4405. 统计子矩阵 来源:第十三届蓝桥杯省赛C++B组 给定一个 N×MN×M 的矩阵 AA,请你统计有多少个子矩阵 (最小 1×11×1,最大 N×MN×M) 满足子矩阵中所有数的 ...

最新文章

  1. Pretty Login便携版:Windows 7登录界面修改器
  2. 局域网配置NTP服务器
  3. Floyd_Warshall POJ 1847 Tram
  4. 程序员面试题精选100题(15)-含有指针成员的类的拷贝[C/C++/C#]
  5. [转载] LinkedIn架构这十年
  6. 个人Wordpress站点设置Windows Live writer
  7. java springboot+maven发送邮件
  8. ExtJs ComboBox 在IE 下 自动完成功能无效的解决方案
  9. Ellex激光器参数与激光消融手术风险的关系
  10. set集合判断集合中是否有无元素_一文了解 JavaScript 中的 Set(集合)- 对 Set 的扩展...
  11. mysql数据库查询优化建议_mysql数据库查询优化的24条建议
  12. 如何获取e.printStackTrace()的内容
  13. 阿里安全十余年发展的关键词:敬畏、努力
  14. Win7下安装git
  15. 学习笔记——SM2算法原理及实现
  16. SQL优化之存储过程强制编译
  17. python中三元_Python三元运算和Python函数介绍
  18. 固建机器人钢结构智能生产线 改善钢结构行业品质
  19. 接口测试(测试用例)
  20. [Mitchell 机器学习读书笔记]——人工神经网络

热门文章

  1. 编程入门先学什么python-自学编程入门,先学什么语言好?
  2. python使用-Python3 错误和异常
  3. python与java前景-java和python学习哪个未来发展前景更好?
  4. python从入门到放弃-python从入门到放弃--day1
  5. 自学python好找工作么-学习python后好找工作吗
  6. python简单代码-Python简单进程锁代码实例
  7. heroku创建linux主机,将Yesod部署到Heroku,无法静态构建
  8. linux 邮件服务器pop3,linux下用pop3收web电子邮箱_邮件服务器
  9. php底部加载更多,关于vue底部加载更多的代码
  10. python写一个笔记软件_科学网—python学习笔记(1)——创建应用 - 高雪峰的博文...