问题描述:奇妙的数字

小明发现了一个奇妙的数字。它的平方和立方正好把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

  1. 将每个数的平方和立方的int结果转换为string类型,并将string的每个字符存入set容器中。
  2. 在check函数里,将每个字符放入容器,并且判断string字符串的长度和set容器的长度同时为10的时候才满足。(因为set容器是不允许有重复的)。第一,string字符串的长度要求为10而不是只要set容器的长度为10的时候,因为如果一个数的平方和立方加起来是大于10位数且有位数是重复,而set容器是不允许有重复元素的,可能刚好有个数就满足了set容器的长度为10,而string字符串的长度是大于10的。(虽然在设定了这个数是在100中时,只判断set容器的长度 if(ss.size()==10) 也是能找到69这个数字。。。)
  3. 易错:定义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】蓝桥杯之奇妙的数字(填空题)相关推荐

  1. 蓝桥杯历届-奇妙的数字

    蓝桥杯历届-奇妙的数字 奇妙的数字 小明发现了一个奇妙的数字.它的平方和立方正好把0~9的10个数字每个用且只用了一次. 你能猜出这个数字是多少吗? 请填写该数字,不要填写任何多余的内容. #incl ...

  2. 2015蓝桥杯python——奇妙的数字

    题目: 小明发现了一个奇妙的数字.它的平方和立方正好把 00 ~ 99 的 1010 个数字每个用且只用了一次. 你能猜出这个数字是多少吗? 代码实现: for i in range(1000):a= ...

  3. 【2020蓝桥杯省赛】【填空题】排序(详解!)

    目录 题目 题目链接 ​题目详细分析 源代码 答案 题目 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 小蓝最近学习了一些排序算法,其中冒泡排序让他印象深刻. 在冒泡排序中 ...

  4. 第十二届蓝桥杯A组省赛填空题Java思路及代码合集(相乘直线货物摆放路径回路计数)

    文章目录 试题 A: 相乘 试题 B: 直线 试题 C: 货物摆放 试题 D: 路径 试题 E: 回路计数 试题 A: 相乘 本题总分:5 分 [问题描述] 小蓝发现,他将 1 至 100000000 ...

  5. 2019蓝桥杯省赛B组填空题 迷宫

    题目描述 下图给出了一个迷宫的平面图,其中标记为1 的为障碍,标记为0 的为可 以通行的地方. 010000 000100 001001 110000 迷宫的入口为左上角,出口为右下角,在迷宫中,只能 ...

  6. 【23不怎么懂】蓝桥杯之手链样式(填空题)

    问题描述:手链样式 小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙. 他想用它们串成一圈作为手链,送给女朋友. 现在小明想知道:如果考虑手链可以随意转动或翻转,一共可以有多少不同的组合样式呢? 参考答案:1 ...

  7. 【蓝桥杯】历届试题 数字游戏(C++)

    [蓝桥杯]历届试题 数字游戏(C++) 问题描述 解题思路 具体代码 问题描述 题目链接:数字游戏. 问题描述: 栋栋正在和同学们玩一个数字游戏. 游戏的规则是这样的:栋栋和同学们一共n个人围坐在一圈 ...

  8. 蓝桥杯基础练习---特殊数字

    蓝桥杯基础练习---特殊数字 特殊的数字 该题目实现程序: 特殊的数字 问题描述: 153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1的3次方+5的3次方+3的3次方=1+125+27 ...

  9. 【科技素养题】少儿编程 蓝桥杯青少组科技素养题真题及解析第19套

    少儿编程 蓝桥杯青少组科技素养题真题及解析第19套 1.下列现象中有化学变化发生的是  A.蜡烛融化 B.冰块融化 C.电磁炉烧开水 D.铁生锈 答案:D 考点分析:主要考查小朋友们的物理和化学知识, ...

  10. 蓝桥杯 Java试题 H: 数字三角形

    大家关注微信公众号 罡罡同学 回复蓝桥杯 可免费获得历年真题和C语言版的真题源代码 Java试题 H: 数字三角形 4 5 2 6 5 [样例输出] 27 import java.util.Scann ...

最新文章

  1. 程序员必知8大排序3大查找(三)
  2. layoutSubviews 调用情况
  3. gradle本地、远程仓库配置--转
  4. Spring-mybatis 抽取 baseDao。
  5. 【常用】加载配置文件管理资源路径
  6. 命令行工具tshark使用小记
  7. Django的核心思想ORM
  8. linux分辨率变低了,解决 ubuntu 装N卡驱动后开机分辨率变低 转
  9. lpx寒假作业案例14
  10. 别做正常的傻瓜---奚恺元 随记2017-12-6周三
  11. QT学习教程-(1)QT新建项目并打包hellow world
  12. 《大话西游》你真的看懂了吗?
  13. Transfer Learning 迁移学习的相关知识
  14. 2021年中国互联网网民规模及互联网普及率情况:网民总体规模持续增长,城乡地区互联网普及率差异减小[图]
  15. 10g gtx 光纤通信测试_S03-CH05_UDP 万兆光通信
  16. expdp和impdp需要注意的地方
  17. 浙江大学计算机学院博士论文格式,浙江大学博士学位论文模板.doc
  18. H5 雪碧图 移动的机器猫
  19. python逐步回归筛选变量_统计学干货 I 逐步回归
  20. Wi-Fi (-6) 知识点整理

热门文章

  1. 【Python精彩案例】随拍文档转PDF扫描版
  2. 【深度学习】全面理解VGG16模型
  3. 幅频特性曲线protues_求助如何用MULTISIM画出幅频特性曲线?如何使用波特图仪器?...
  4. 有感于《游戏脚本高级编程》的劣质翻译
  5. 程序员看过都说好的资源网站,你懂得!
  6. 我的世界javamod怎么装_我的世界MOD安装方法图文教程_我的世界MOD怎么安装_牛游戏网...
  7. python 爬取种子_Python开发实例分享bt种子爬虫程序和种子解析
  8. 基于单片机智能交通灯控制系统设计外文文献_【设计图文】单片机实现的步进电机控制系统(开题报告+论文+文献综述+外文翻译+DWG图纸)...
  9. 多年 iOS 开发经验总结
  10. c语言编译器官网,C语言编译器app_c语言编译器app官网下载_c语言编译器手机版app-多特软件站安卓网...