蓝桥杯3527 阶乘的和 Python

6
2 2 2 3 3 3

2! + 2! + 2! + 3! + 3! + 3!
= 3 * 2! + 3 * 3!
= 3! + 3 * 3!
= 4*3!

*转化的步骤: 当x!阶乘的个数满足x+1个时 就可以转化成 (x+1)! (x+1)x! == (x+1)!当不能转化的时候,输出此时的m即为结果

n = int(input())
A = list(map(int, input().split()))
A.sort()
# 用字典记录每个数出现的次数,用于转化
d = {}
for x in A:
  d[x] = d.get(x, 0) + 1
# print(d)
m = A[0]
# print('value_m',m)
while True:
  count = d[m]
#   print('value_count',count)
  if count % (m + 1) == 0:
    #如果可以继续转化,则继续转化
    d[m + 1] = d.get(m + 1, 0) + count // (m + 1)
    # print('value_d[m+1]',d[m+1])
    m = m + 1
    # print('value_d:',d)
  else:
    #如果不能转化,则退出循环输出m的值
    break
print(m)

相关推荐

  1. 3527 Python

    2024-04-14 06:06:02       14 阅读
  2. 2023年-(数学推理,C++)

    2024-04-14 06:06:02       17 阅读
  3. -【二分】求

    2024-04-14 06:06:02       14 阅读
  4. 备战12.

    2024-04-14 06:06:02       11 阅读
  5. 2023省赛:求和

    2024-04-14 06:06:02       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-14 06:06:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-14 06:06:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-14 06:06:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-14 06:06:02       20 阅读

热门阅读

  1. 使用Spring Cloud构建微服务时的一些经验

    2024-04-14 06:06:02       15 阅读
  2. React中常见的Hook

    2024-04-14 06:06:02       16 阅读
  3. 如何在seata中编写测试用例

    2024-04-14 06:06:02       13 阅读
  4. spring.cloud.gateway.discovery.locator.enabled配置项分析

    2024-04-14 06:06:02       15 阅读
  5. macOS、Windows、Linux三种系统安装Node.js的详细步骤

    2024-04-14 06:06:02       12 阅读
  6. 大语言模型LLM《提示词工程指南》学习笔记05

    2024-04-14 06:06:02       12 阅读
  7. OneFlow深度学习框架介绍

    2024-04-14 06:06:02       13 阅读