CSDN编程竞赛第五期笔记

CSDN编程竞赛

【1】CSDN编程竞赛第三期小鱼的航程(改进版)


CSDN编程竞赛第五期

  • CSDN编程竞赛
  • 前言
  • 一、寻因找祖
  • 二、通货膨胀-x国货币
  • 三、莫名其妙的键盘。
  • 四、三而竭。
  • 总结


前言

先把成绩贴出来,本次编程大赛第17名,可以获得定制帆布包电子荣誉证书。获奖用户需要在CSDN发布一篇竞赛相关博客才可获得奖品,内容创作方向需围绕竞赛相关,如本次竞赛的bug,对CSDN竞赛的建议,以往参加各类编程竞赛的比赛经历等等。
在这里插入图片描述


一、寻因找祖

寻找因子个数为n的最小整数x。

候选人编程总结 使用语言:PYTHON3 得分:17.5/25 得分率:70% 提交人数:457人 平均分:8.05/25;

二、通货膨胀-x国货币

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)

总结

耐心,认真审题,希望下次多通过一道题目。

你可能感兴趣的:(python,python)