陈越姥姥数据结构自测4(python)

小明 2025-04-30 12:10:00 4

文章预览:

  • 题目
    • 翻译
    • 算法
    • 代码如下
    • ���果

      题目

      翻译

      大概意思是我给你一个不超过20位的整数,你将其乘以2倍,所得到的数如果是原来的数各个位排列得到的就输出yes 如果不是输出no,不管是与否都输出乘以2的结果。

      算法

      这题我使用python去解决比较简单,如果用c语言弄 需要用字符串数组,而用python 可以存储的下,无需考虑那么多,将数乘以2倍后把他变成列表,设原来的数为a,乘积后的数为b,将a,b都转化为列表,遍历b,只要b的元素是在a中的 a,就删除那一元素,再用一个标志变量,如果b有的元素,a没有用标志变量标记,那yes的条件就是a最后是空,并且,变量没被标记(改变过),其余为no。

      代码如下

      a=int(input())
      b=a*2
      c=b
      a=list(str(a))
      b=list(str(b))
      flag=1
      for i in b:
          if i in a:
              a.remove(i)
          else:
              flag=0
              break
      if flag==1 and len(a)==0:
          print('Yes')
      else:
          print('No')
      print(c)
      

      结果

The End
微信