• 尝试了一下csdn编程挑战赛


    不太习惯比赛用的编辑器,没法做过程的调试,这个就很考基本功了。
    一是是对算法已经完全心理有数,要不然调试起来很困难。
    二是要对语法非常熟,像我这种经常要查语法帮助的人,哈哈哈。

     100分共四道题,我只得分47.5

    后面在本机环境下重做了一下,习惯了IDE后回不去了。

    题目如下:

    1、题目名称:寻因找祖 寻找因子个数为n的最小整数x.

    2、题目名称:通货膨胀-x国货币 X国发行货币最高面额为n。 次高面额为n的因子。 以此类推。 X国最多发行多少种货币。

    3、题目名称:莫名其妙的键盘 有一个神奇的键盘,你可以用它输入a到z的字符,然而每当你输入一个元音字母(a,e,i,o,u其中之一)的时候,已输入的字 符串会发生一次反转! 比方说,当前输入了tw,此时再输入一个o,此时屏幕上的字符串two会反转成owt。 现给出一个 字符串,若用该键盘输入,有多少种方法可以得到?

    4、题目名称:三而竭 一鼓作气再而衰三而竭。 小艺总是喜欢把任务分开做。 小艺接到一个任务,任务的总任务量是n。 第一天小艺能完成x份 任务。 第二天能完成x/k。 。。。 第t天能完成x/(k^(t-1))。 小艺想知道自己第一天至少完成多少才能完成最后的任务。

    1. #!/usr/bin/env python
    2. # -*- coding: utf-8 -*-
    3. # Project: game
    4. # File : main.py
    5. # Author : Long.Xu
    6. # http://gnolux.blog.csdn.net
    7. # QQ:26564303 weixin:wxgnolux
    8. # Time : 2022/9/4 08:51
    9. # Copyright 2022 Long.Xu All rights Reserved.
    10. import math
    11. def s1(n):
    12. """
    13. 求n因子的最小整数
    14. :param n:
    15. :return:
    16. """
    17. def get_pcs(num):
    18. result = 0
    19. lst = []
    20. for i in range(1, int(math.sqrt(num)) + 1):
    21. r = num / i
    22. if int(r) == r:
    23. lst.append(int(r))
    24. result = result + 1
    25. if i != int(r):
    26. lst.append(i)
    27. result = result + 1
    28. # print(num,lst)
    29. return result, lst
    30. i = 1
    31. while True:
    32. r, ls = get_pcs(i)
    33. if r == n: break
    34. i = i + 1
    35. print("试题1:因子个数为 %s 的最小整数是:%s" % (n, i), ls)
    36. def s2(n):
    37. """
    38. 一套货币最高面值为n,那么次面值为n的最大因子n(i),
    39. 次次面值为n(i)的最大因子n(i+1),依此类推
    40. 求一个最大面值货币所包含的所有面值。
    41. :param n:
    42. :return:
    43. """
    44. result = None
    45. mianzi = [n]
    46. mianzi_biaoji = [0]
    47. j = 0
    48. while 0 in mianzi_biaoji:
    49. for i in range(mianzi[j] - 1, 0, -1):
    50. k = mianzi[j] / i
    51. if int(k) == k:
    52. if not (i in mianzi):
    53. mianzi.append(i)
    54. mianzi_biaoji.append(0)
    55. break
    56. mianzi_biaoji[j] = 1
    57. j = j + 1
    58. result = len(mianzi)
    59. print("试题2:最高面值", n, "所有面值:", mianzi, '数量:', result)
    60. return result
    61. def s3(str):
    62. """
    63. 字母字符串输入规则碰到元音就反转,
    64. 如:输入cbe 就会得到目标ebc.
    65. 按此规则,求为获取一个目标字串的输入方法的个数
    66. :param str:
    67. :return:
    68. """
    69. a = 'aoeiu'
    70. lst = []
    71. def s(ss='', path=''):
    72. if len(ss) < len(str):
    73. for c in str:
    74. t = ss + c
    75. pp = path + c
    76. if c in a:
    77. ls = list(t)
    78. ls.reverse()
    79. t = ''.join(ls)
    80. if t == str:
    81. # print('目标:', str, '输入方法:', ss, c, pp)
    82. if not (pp in lst):
    83. lst.append(pp)
    84. else:
    85. s(t, pp)
    86. s()
    87. print('试题3:目标字串:', str, "输入方法:", lst, "数量:", len(lst))
    88. return len(lst)
    89. def s4(n, k):
    90. """
    91. :param n:
    92. :param k:
    93. :return:
    94. """
    95. def do_free(job, x):
    96. for t in range(2, 10 + 1):
    97. job = job - x / (k ** (t - 1))
    98. if job <= 0:
    99. return True
    100. return False
    101. for x in range(0, n):
    102. job = n - x
    103. if do_free(job, x):
    104. print("试题4:n=%s,k=%s, 第一天要完成:%s" % (n, k, x))
    105. return x
    106. s1(100)
    107. s2(100)
    108. s3('aciduf')
    109. # 这一题好像这个示例是得到 54 我这个是53,感觉还是题目有什么隐含的题意,没搞清楚。
    110. s4(59, 9)
    111. 输出:
    112. -------------------
    113. 试题1:因子个数为 100 的最小整数是:45360 [45360, 1, 22680, 2, 15120, 3, 11340, 4, 9072, 5, 7560, 6, 6480, 7, 5670, 8, 5040, 9, 4536, 10, 3780, 12, 3240, 14, 3024, 15, 2835, 16, 2520, 18, 2268, 20, 2160, 21, 1890, 24, 1680, 27, 1620, 28, 1512, 30, 1296, 35, 1260, 36, 1134, 40, 1080, 42, 1008, 45, 945, 48, 840, 54, 810, 56, 756, 60, 720, 63, 648, 70, 630, 72, 567, 80, 560, 81, 540, 84, 504, 90, 432, 105, 420, 108, 405, 112, 378, 120, 360, 126, 336, 135, 324, 140, 315, 144, 280, 162, 270, 168, 252, 180, 240, 189, 216, 210]
    114. 试题2:最高面值 100 所有面值: [100, 50, 25, 5, 1] 数量: 5
    115. 试题3:目标字串: aciduf 输入方法: ['iducaf', 'diucaf'] 数量: 2
    116. 试题4:n=59,k=9, 第一天要完成:53

  • 相关阅读:
    SpringCloudalibaba
    oneAPI DPC++学习资料和实验平台
    python读取监控流通过websocket连接发送到java服务端,服务端推流到前端
    哪些电商平台的 API 很好用?为什么?
    7.2 怎样定义函数
    基于ssm流浪动物领养救助系统
    敏捷战略下的目标管理
    若依分页问题
    tictoc例子理解 16-18
    【Java分享客栈】Java程序员为争一口气熬夜硬刚CSS实现掘金首页
  • 原文地址:https://blog.csdn.net/fangkailove/article/details/126692027