【19】蓝桥杯之奇妙的数字(填空题)
问题描述:奇妙的数字
小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。
你能猜出这个数字是多少吗?
请填写该数字,不要填写任何多余的内容。
参考答案:69
分析
我用愚蠢的方法,算出平方和三次方一共十位数字从什么数字开始,然后输出各个平方和三次方的结果(很愚蠢。。。)
看到的用set容器,不能插入重复的数字,真的很聪明!
#include<iostream>
#include<set>
#include<sstream>
using namespace std;string i2s(int i)
{string s;stringstream ss;ss<<i;ss>>s;return s;
}
bool check(string s)
{set<char> se;for(int i=0;i<s.size();i++){se.insert(s[i]);}return s.size()==10&&se.size()==10;
}
int main(){int a,b;string sa,sb;for(int i=1;i<1000;i++){a=i*i;b=i*i*i;sa=i2s(a);sb=i2s(b);if(check(sa+sb)){cout<<i<<endl;cout<<a<<endl;cout<<b<<endl;}}return 0;
}
代码参考链接:https://www.cnblogs.com/Aikoin/p/10580790.html
- 将每个数的平方和立方的int结果转换为string类型,并将string的每个字符存入set容器中。
- 在check函数里,将每个字符放入容器,并且判断string字符串的长度和set容器的长度同时为10的时候才满足。(因为set容器是不允许有重复的)。第一,string字符串的长度要求为10而不是只要set容器的长度为10的时候,因为如果一个数的平方和立方加起来是大于10位数且有位数是重复,而set容器是不允许有重复元素的,可能刚好有个数就满足了set容器的长度为10,而string字符串的长度是大于10的。(虽然在设定了这个数是在100中时,只判断set容器的长度 if(ss.size()==10) 也是能找到69这个数字。。。)
- 易错:定义set容器的时候,没有深刻理解,写的时候容易把set容器类型变为string,而事实上应该是char,因为set容器里面放的应该是字符串的每个字符,而不是一个字符串类型,因为要判断的是每个字符有没有重复。所以注意set容器的类型是char。
// set<string> ss;set<char> ss;
总结
其实还是很巧妙的,利用string类型可以 + 进行拼接,将三次方和平方的数字分别转换为字符串之后再拼接在一起去判断。
数字转换为字符串,就要复习stringstream #include< sstream>
set容器是char类型,因为里面存的是每个字符‘0’,‘1’,这些。用se.insert(s[i]);可以将每个字符插入。可以把string字符串用数组的形式进行挨个访问,s[i]。
循环访问中for(int i=0;i<s.size();i++),要善于用到s.size()。
这个 return s.size()==10&&se.size()==10; ,也是新思维的新天地。当set容器的size都是 等于10的时候,说明有十个不同字符啊。(刚开始就是没有理解,想到这个)
【19】蓝桥杯之奇妙的数字(填空题)相关推荐
- 蓝桥杯历届-奇妙的数字
蓝桥杯历届-奇妙的数字 奇妙的数字 小明发现了一个奇妙的数字.它的平方和立方正好把0~9的10个数字每个用且只用了一次. 你能猜出这个数字是多少吗? 请填写该数字,不要填写任何多余的内容. #incl ...
- 2015蓝桥杯python——奇妙的数字
题目: 小明发现了一个奇妙的数字.它的平方和立方正好把 00 ~ 99 的 1010 个数字每个用且只用了一次. 你能猜出这个数字是多少吗? 代码实现: for i in range(1000):a= ...
- 【2020蓝桥杯省赛】【填空题】排序(详解!)
目录 题目 题目链接 题目详细分析 源代码 答案 题目 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 小蓝最近学习了一些排序算法,其中冒泡排序让他印象深刻. 在冒泡排序中 ...
- 第十二届蓝桥杯A组省赛填空题Java思路及代码合集(相乘直线货物摆放路径回路计数)
文章目录 试题 A: 相乘 试题 B: 直线 试题 C: 货物摆放 试题 D: 路径 试题 E: 回路计数 试题 A: 相乘 本题总分:5 分 [问题描述] 小蓝发现,他将 1 至 100000000 ...
- 2019蓝桥杯省赛B组填空题 迷宫
题目描述 下图给出了一个迷宫的平面图,其中标记为1 的为障碍,标记为0 的为可 以通行的地方. 010000 000100 001001 110000 迷宫的入口为左上角,出口为右下角,在迷宫中,只能 ...
- 【23不怎么懂】蓝桥杯之手链样式(填空题)
问题描述:手链样式 小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙. 他想用它们串成一圈作为手链,送给女朋友. 现在小明想知道:如果考虑手链可以随意转动或翻转,一共可以有多少不同的组合样式呢? 参考答案:1 ...
- 【蓝桥杯】历届试题 数字游戏(C++)
[蓝桥杯]历届试题 数字游戏(C++) 问题描述 解题思路 具体代码 问题描述 题目链接:数字游戏. 问题描述: 栋栋正在和同学们玩一个数字游戏. 游戏的规则是这样的:栋栋和同学们一共n个人围坐在一圈 ...
- 蓝桥杯基础练习---特殊数字
蓝桥杯基础练习---特殊数字 特殊的数字 该题目实现程序: 特殊的数字 问题描述: 153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1的3次方+5的3次方+3的3次方=1+125+27 ...
- 【科技素养题】少儿编程 蓝桥杯青少组科技素养题真题及解析第19套
少儿编程 蓝桥杯青少组科技素养题真题及解析第19套 1.下列现象中有化学变化发生的是 A.蜡烛融化 B.冰块融化 C.电磁炉烧开水 D.铁生锈 答案:D 考点分析:主要考查小朋友们的物理和化学知识, ...
- 蓝桥杯 Java试题 H: 数字三角形
大家关注微信公众号 罡罡同学 回复蓝桥杯 可免费获得历年真题和C语言版的真题源代码 Java试题 H: 数字三角形 4 5 2 6 5 [样例输出] 27 import java.util.Scann ...
最新文章
- 程序员必知8大排序3大查找(三)
- layoutSubviews 调用情况
- gradle本地、远程仓库配置--转
- Spring-mybatis 抽取 baseDao。
- 【常用】加载配置文件管理资源路径
- 命令行工具tshark使用小记
- Django的核心思想ORM
- linux分辨率变低了,解决 ubuntu 装N卡驱动后开机分辨率变低 转
- lpx寒假作业案例14
- 别做正常的傻瓜---奚恺元 随记2017-12-6周三
- QT学习教程-(1)QT新建项目并打包hellow world
- 《大话西游》你真的看懂了吗?
- Transfer Learning 迁移学习的相关知识
- 2021年中国互联网网民规模及互联网普及率情况:网民总体规模持续增长,城乡地区互联网普及率差异减小[图]
- 10g gtx 光纤通信测试_S03-CH05_UDP 万兆光通信
- expdp和impdp需要注意的地方
- 浙江大学计算机学院博士论文格式,浙江大学博士学位论文模板.doc
- H5 雪碧图 移动的机器猫
- python逐步回归筛选变量_统计学干货 I 逐步回归
- Wi-Fi (-6) 知识点整理
热门文章
- 【Python精彩案例】随拍文档转PDF扫描版
- 【深度学习】全面理解VGG16模型
- 幅频特性曲线protues_求助如何用MULTISIM画出幅频特性曲线?如何使用波特图仪器?...
- 有感于《游戏脚本高级编程》的劣质翻译
- 程序员看过都说好的资源网站,你懂得!
- 我的世界javamod怎么装_我的世界MOD安装方法图文教程_我的世界MOD怎么安装_牛游戏网...
- python 爬取种子_Python开发实例分享bt种子爬虫程序和种子解析
- 基于单片机智能交通灯控制系统设计外文文献_【设计图文】单片机实现的步进电机控制系统(开题报告+论文+文献综述+外文翻译+DWG图纸)...
- 多年 iOS 开发经验总结
- c语言编译器官网,C语言编译器app_c语言编译器app官网下载_c语言编译器手机版app-多特软件站安卓网...