zoukankan      html  css  js  c++  java
  • 给定一个正整数,实现一个方法求出离该整数最近的大于自身的 换位数 <把一个整数各个数位进行全排列>

    """
    给定一个正整数,实现一个方法求出离该整数最近的大于自身的 换位数 -> 把一个整数各个数位进行全排列
    """

    # 使用 permutations() 方法实现
    import itertools


    def full_arrangement(num):
      my_str = ''
      my_list = []
      permutation = list(itertools.permutations(str(num), len(str(num))))
      for p in permutation:
        for i in range(len(p)):
          my_str += p[i]
          if len(my_str) == len(str(num)):
            my_num = int(my_str)
            if my_num > num:
              my_list.append(my_num)
            my_str = ''
      return my_list


    if __name__ == '__main__':
    num = int(input('输入一个正整数:'))
    my_list = full_arrangement(num)
    # 离该整数最近的大于自身的 换位数
    try:
      digits = min(my_list)
      print(digits)
    except ValueError as e:
      print('该正整数没有比自身大的换位数')

  • 相关阅读:
    排序
    最小栈
    移除链表元素
    回文链表
    maven自动建立目录骨架
    maven的结构和构建命令
    递归
    链表的中间结点
    括号匹配
    软件工程个人作业01
  • 原文地址:https://www.cnblogs.com/changqing8023/p/9068404.html
Copyright © 2011-2022 走看看