【1】CSDN编程竞赛第三期小鱼的航程(改进版)
先把成绩贴出来,本次编程大赛第17名,可以获得定制帆布包与电子荣誉证书。获奖用户需要在CSDN发布一篇竞赛相关博客才可获得奖品,内容创作方向需围绕竞赛相关,如本次竞赛的bug,对CSDN竞赛的建议,以往参加各类编程竞赛的比赛经历等等。
寻找因子个数为n的最小整数x。
候选人编程总结 使用语言:PYTHON3 得分:17.5/25 得分率:70% 提交人数:457人 平均分:8.05/25;
X国发行货币最高面额为n。 次高面额为n的因子。 以此类推。 X国最多发行多少种货币。
候选人编程总结 使用语言:PYTHON3 得分:25/25 得分率:100% 提交人数:427人 平均分:10.71/25;
class Solution:
def __init__(self) -> None:
pass
def solution(self, n):
result = 1
#如果n大于1则有因子,即有次高面额的货币
while n > 1:
#进入while一次,货币种类加1
result = result + 1
#寻找因子
m = int(n/2)
#从最大的因子循环
for i in range(m, 0, -1):
#满足因子条件,跳出循环
if n%i == 0:
n = i
break
return result
if __name__ == "__main__":
n = int(input().strip())
s = Solution()
result = s.solution(n)
print(result)
有一个神奇的键盘,你可以用它输入a到z的字符,然而每当你输入一个元音字母(a,e,i,o,u其中之一)的时候,已输入的字符串会发生一次反转! 比方说,当前输入了tw,此时再输入一个o,此时屏幕上的字符串two会反转成owt。 现给出一个字符串,若用该键盘输入,有多少种方法可以得到?
候选人编程总结 使用语言:PYTHON3 得分:5/25 得分率:20% 提交人数:417人 平均分:2.09/25;
一鼓作气再而衰三而竭。 小艺总是喜欢把任务分开做。 小艺接到一个任务,任务的总任务量是n。 第一天小艺能完成x份
任务。 第二天能完成x/k。 第t天能完成x/(k^(t-1))。 小艺想知道自己第一天至少完成多少才能完成最后的任务。
候选人编程总结 使用语言:PYTHON3 得分:25/25 得分率:100% 提交人数:396人 平均分:2.95/25。
class Solution:
def __init__(self) -> None:
pass
def solution(self, n):
result = None
k = n[1]
#等比数列求和;因为任务量为整数;计算第mk天已经不能完成任务即x/(k^(t-1)) < 1
mk = int(n[0]**(1/k))+1
#等比数列求和公式;如果忽略任务量为整数时的天数;
tmp = int(n[0]*(1-k)*(k**(mk-1))/(1-k**mk))
#循环
for i in range(tmp, n[0]+1):
#完成量
s = 0
for j in range(mk):
s = s + int(i/(k**j))
#完成且第i天之后不再完成一整份工作量
if s >= n[0] and i < (k**(j+1)):
result = i
return result
# TODO: 请在此编写代码
#return result
if __name__ == "__main__":
n = [int(item) for item in input().strip().split()]
s = Solution()
result = s.solution(n)
print(result)
耐心,认真审题,希望下次多通过一道题目。