题目

Notice that the number 123456789 is a 9-digit number consisting exactly the numbers from 1 to 9, with no duplication. Double it we will obtain 246913578, which happens to be another 9-digit number consisting exactly the numbers from 1 to 9, only in a different permutation. Check to see the result if we double it again!

Now you are suppose to check if there are more numbers with this property. That is, double a given number with k digits, you are to tell if the resulting number consists of only a permutation of the digits in the original number.

Input Specification:

Each input contains one test case. Each case contains one positive integer with no more than 20 digits.

Output Specification:

For each test case, first print in a line “Yes” if doubling the input number gives a number that consists of only a permutation of the digits in the original number, or “No” if not. Then in the next line, print the doubled number.

Sample Input:

11234567899

Sample Output:

1

2Yes

2469135798

题解

思路

建立一个哈希表,存放每个字符出现的次数

将原数乘以2后,和哈希表每个字符出现的次数作对比

完事儿嗷

数据结构

_dict 是一个哈希表,对每个键默认值是0

键是0到9的字符

值是它出现的次数

算法

对作为字符串的原数,按照每一个字符出现的次数添加到哈希表

将原数乘以2,对每一个出现的字符,哈希表相应减一

如果哈希表不是每一项都为0,那么就说明是No

代码

因为使用Python能AC,因此只放了Python的代码。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17from collections import defaultdict

_dict = defaultdict(int)

a = input()

for i in a:

_dict[i] += 1

a = str(int(a) * 2)

for i in a:

_dict[i] -= 1

for i in "0123456789":

if _dict[i] != 0:

print("No")

break

else:

print("Yes")

print(a)

python大于小于1023python大于小于_PythonPAT 1023 Have Fun with Numbers相关推荐

  1. shell中大于、等于、小于

    shell中大于.等于.小于 -eq           等于 -ne           不等于 -gt            大于 -lt            小于 -ge           ...

  2. 关于“小于/等于/大于”的英文缩写

    前言: 最近统计服务需要增加几个关于秒级别范围的消息数目.看到这个描述你们可能有点懵,举个例子:统计发送消息的耗时大于3s的消息数目.此时需要给这个字段命名,我突然词穷. 还好想到了小于/等于/大于此 ...

  3. 图片的分辨率大于设备分辨率或者小于设备的分辨率的显示问题

    做程序开发,尤其是手机app开发,经常接触到图片的处理,有时服务器获取的图片大于自己本地要显示的大小(自己限制的),有时要小于,但是设备怎么显示我一直有个疑问,那就是如果图片的分辨率大于设备的分辨率而 ...

  4. mysql 小于号转义_mybatis ![CDATA[ ]] 使用,小于大于号转义 和小于号大于号使用

    CDATA 在今天使用Mybatis的xml文件中写sql语句时写入了一些特殊字符 如 < > & 等,但解析xml文件的时候会被转义,事实上并不希望它被转义,可以使用. 这是XM ...

  5. 企业发放的奖金根据企业的当年利润决定。当利润I低于或等于100000元时,奖金可提成10%;利润大于100000元,小于200000元(100000<I≤200000)时,低于100000元的部分按1

    企业发放的奖金根据企业的当年利润决定.当利润I低于或等于100000元时,奖金可提成10%:利润大于100000元,小于200000元(100000<I≤200000)时,低于100000元的部 ...

  6. PAT甲级1023 Have Fun with Numbers:[C++题解]高精度加法和两个vector大小比较

    文章目录 题目分析 题目链接 题目分析 使用高精度加法高精度加法板子求 这个数的两倍,存在一个vector中. 所谓高精度就是使用string来存大的数,然后模拟列竖式加法,结果一位一位压入数组vec ...

  7. python判断输入数字大于0,对python 判断数字是否小于0的方法详解

    对python 判断数字是否小于0的方法详解 为了精度更准确 可以使用数字的绝对值 < 1.0e-16  或者 < 1.0e-8来对比 abs(Num) 以上这篇对python 判断数字是 ...

  8. python:比较运算符(等于,小于,大于,不等于,大于等于,小于等于)的简单用法

    比较(关系)运算符 相关内容(表格) 相关说明 源码 运行结果 相关内容(表格) 运算符 作用 > 大于 < 小于 == 等于 != 不等于 >= 大于等于 <= 小于等于 相 ...

  9. Python PTA实验课 求小于某一大于2的自然数的所有素数

    求小于某一大于2的自然数的所有素数 输入一个大于2的自然数,输出小于该自然数的所有素数组成的列表 输入格式: 一个大于2的自然数 输出格式: 如果输入自然数大于2,则输出小于该自然数的所有素数组成的列 ...

最新文章

  1. OpenC 仿射变换
  2. 人生第一份Offer,国企、私企、外企该选择哪一个?
  3. Qt Creator使用3D组件
  4. ehcache + mysql例子与性能测试
  5. visual studio 设计器不显示_与城共生:南京朝天宫“参与性”城市设计
  6. leetcode509. 斐波那契数
  7. maven插件编写_编写Maven插件的提示
  8. Myeclipse项目加入maven支持
  9. MongoDB安装中断问题 - 踩坑篇
  10. Layui父级页面调用子级页面方法
  11. python数据生成可视化_Python数据分析:手把手教你用Pandas生成可视化图表
  12. 关于struts框架的优缺点
  13. 使用Spring-data-jpa修改数据后,查询到脏数据
  14. input正则邮箱_JS正则表达式验证email邮箱是否正确
  15. java 端口流量统计_java—流量统计源码 | 学步园
  16. 苹果手机白屏_为什么安卓用久了会卡顿,苹果用久了会闪退?看完长知识了
  17. 【多目标优化】3. 基于分解的多目标进化算法 —(MOEA/D)
  18. 服务器d盘位置不可用,系统之家Windows7本地磁盘位置不可用拒绝访问的解决方法...
  19. Mac 运行 JNLP 文件
  20. JAVA的直接内存介绍

热门文章

  1. 连接编码器_编码器与PLC的接线
  2. 直播画面抖动_罗永浩直播带货1.1个亿,企业想玩网络直播,三大专业设备你必须知道...
  3. python中时间处理_Python中处理时间的几种方法小结
  4. Java加个书名编号约束条件_java 按照题目所给变量名称、类型和方法名称进行编程 求帮助...
  5. 二进制文件安装mysql_CentOS7下二进制文件安装MySQL5.6
  6. ps4修改服务器地区,ps4怎么修改服务器地址
  7. python中变量和函数的区别_关于python中带下划线的变量和函数 的意义
  8. java 打开sql数据库_idea 使用Java连接SQL Server数据库教程
  9. python电脑截图文字识别软件_Python实现文字识别,来看看大牛怎么实现截图/
  10. Go语言技术教程:Redis介绍安装和使用