2013蓝桥杯C++A:排它平方数(递归,枚举,暴力解法)
二、题目: 排它平方数
小明正看着 203879 这个数字发呆。
原来,203879 * 203879 = 41566646641
这有什么神奇呢?仔细观察,203879 是个6位数,并且它的每个数位上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。
具有这样特点的6位数还有一个,请你找出它!
再归纳一下筛选要求:
- 6位正整数
- 每个数位上的数字不同
- 其平方数的每个数位不含原数字的任何组成数位
**分析思路:**看到这样的题目,首先考虑递归,枚举,暴力解法等。
题目中要求在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:排它平方数(递归,枚举,暴力解法)相关推荐
- 第七届蓝桥杯决赛真题 - 凑平方数-全排列+dfs+set去重
题目: 凑平方数 把0~9这10个数字,分成多个组,每个组恰好是一个平方数,这是能够 办到的.比如:0, 36, 5948721再比如: 1098524736 1, 25, 6390784 0, 4, ...
- 标题 错误票据c语言,内含答案的 -- 2013蓝桥杯C语言本科组B.doc
内含答案的 -- 2013蓝桥杯C语言本科组B.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们 ...
- 蓝桥杯历届-巧排扑克牌
蓝桥杯历届-巧排扑克牌 小明刚上小学,学会了第一个扑克牌"魔术",到处给人表演.魔术的内容是这样的:他手里握着一叠扑克牌:A,2,....J,Q,K 一共13张.他先自己精心设计它 ...
- 【解题报告+通法】_九宫幻方 蓝桥杯 2017年C组第八题(dfs解法)
题目描述 小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行.每一列和每一条对角线的和都是相同的. 三阶幻方又被 ...
- 蓝桥杯-基础练习-特殊回文数
蓝桥杯-基础练习-特殊回文数 问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n . 输入格式 输 ...
- 【蓝桥杯VIP】试题 历届试题 带分数(满分 Python解法+Java解法)
[蓝桥杯VIP]试题 历届试题 带分数(满分 Python解法+Java解法) 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 100 可以表示为带分数的形式:100 = 3 + 6 ...
- 2013蓝桥杯java试题_蓝桥杯2013决赛java本科b组试题.doc
蓝桥杯2013决赛java本科b组试题.doc 试题一:公式求值问题描述输入n,m,k,输出下面公式的值.其中C_n^m是组合数,表示在n个人的集合中选出m个人组成一个集合的方案数.组合数的计算公式如 ...
- AcWing 蓝桥杯AB组辅导课 01、递归与递推
文章目录 前言 一.递归 知识点 例题 题目1:AcWing 95.斐波那契数列[简单,递归写法] 题目2:AcWing 92.递归实现指数型枚举[简单] 题目3:AcWing 94.递归实现排列型枚 ...
- 【第十三届蓝桥杯省赛B组】统计子矩阵 (枚举前缀和+双指针)
AcWing 4405. 统计子矩阵 来源:第十三届蓝桥杯省赛C++B组 给定一个 N×MN×M 的矩阵 AA,请你统计有多少个子矩阵 (最小 1×11×1,最大 N×MN×M) 满足子矩阵中所有数的 ...
最新文章
- Pretty Login便携版:Windows 7登录界面修改器
- 局域网配置NTP服务器
- Floyd_Warshall POJ 1847 Tram
- 程序员面试题精选100题(15)-含有指针成员的类的拷贝[C/C++/C#]
- [转载] LinkedIn架构这十年
- 个人Wordpress站点设置Windows Live writer
- java springboot+maven发送邮件
- ExtJs ComboBox 在IE 下 自动完成功能无效的解决方案
- Ellex激光器参数与激光消融手术风险的关系
- set集合判断集合中是否有无元素_一文了解 JavaScript 中的 Set(集合)- 对 Set 的扩展...
- mysql数据库查询优化建议_mysql数据库查询优化的24条建议
- 如何获取e.printStackTrace()的内容
- 阿里安全十余年发展的关键词:敬畏、努力
- Win7下安装git
- 学习笔记——SM2算法原理及实现
- SQL优化之存储过程强制编译
- python中三元_Python三元运算和Python函数介绍
- 固建机器人钢结构智能生产线 改善钢结构行业品质
- 接口测试(测试用例)
- [Mitchell 机器学习读书笔记]——人工神经网络
热门文章
- 编程入门先学什么python-自学编程入门,先学什么语言好?
- python使用-Python3 错误和异常
- python与java前景-java和python学习哪个未来发展前景更好?
- python从入门到放弃-python从入门到放弃--day1
- 自学python好找工作么-学习python后好找工作吗
- python简单代码-Python简单进程锁代码实例
- heroku创建linux主机,将Yesod部署到Heroku,无法静态构建
- linux 邮件服务器pop3,linux下用pop3收web电子邮箱_邮件服务器
- php底部加载更多,关于vue底部加载更多的代码
- python写一个笔记软件_科学网—python学习笔记(1)——创建应用 - 高雪峰的博文...