20220507区比赛出现的四道编程题

分类: 研究-学习 |
#两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
【这一题我是从来没有遇到过,一开始弄了两个列表,想一一对应,又实在找不出两者拼接在一起的方法,纠结了好久,差点就放弃了。在最后半小时的时候,再捋捋思路,终于在手动推算出结果的情况下,一步步地通过三重循环加一个列表搞出来了。。当时觉得这个方法很拙劣,但是现在看到和我一样的思路方法,估计我的方法还是比较可行的。第一次遇到这种陌生类型的题,憋大招了半天,还好终于没留遗憾的搞出来了】
list=['x','y','z']
for a in list:
————————————————
版权声明:本文为CSDN博主「柯.姐姐」的原创文章,遵循CC 4.0
BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_45179618/article/details/124357480
+++++++++++++++++++++++++++++++++++++++++++
13、找出1000以内的所有的完数
如果一个数如果恰好等于它的因子之和,那么这个数就称为"完数"。
例如:6=1+2+3,1,2,3都是6的因数。
https://img-blog.csdnimg.cn/20210630201401588.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTkxNDYyMA==,size_16,color_FFFFFF,t_70
如果一个数如果恰好等于它的因子之和,那么这个数就称为"完数"。
例如:6=1+2+3,1,2,3都是6的因数。
https://img-blog.csdnimg.cn/20210630201401588.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTkxNDYyMA==,size_16,color_FFFFFF,t_70
+++++++++++++++++++++++++++++++++++++++++++
【Python3练习题 019】 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
后一个分数的分子=前一个分数的分子+分母,后一个分数的分母=前一个分数的分子,循环个20次就有结果。注意,假设分子为a,分母为b,虽然 a = a + b,
但此时a已经变成 a+b 了,所以再给b重新赋值的时候,得是 (a+b)-b 才能等于原分母b,所以重新赋值时就得写成 a-b
方法一
from fractionsimport Fraction
def fibonacci(n):
a, b =1, 2
res = [1]
i =1
while i < n:
a, b = b, a+b
res.append(a)
i +=1
else:
return res
result = fibonacci(21)
sum_result = sum([Fraction(i[0],i[1])for i in zip(result[1:],result[0:-1])])
print (sum_result)
方法二
from
fractions
import
Fraction
sum
=
0
a,
b
=
2
,
1
for
i
in
range
(
20
):
sum
=
sum
+
Fraction(a
/
b)
a
=
a
+
b
b
=
a
-
b
print
(
sum
)
方法三
sum
=
0
a,
b
=
2
,
1
for
i
in
range
(
20
):
sum
=
sum
+
a
/
b
a
=
a
+
b
b
=
a
-
b
print
(
sum
)
我这题是弄了两次。一个是用递归自定义了一个函数,然后又用的循环,结合斐波那契数列,进行了i从3到24的循环
range(3,24),形成这个计算格式。
++++++++++++++++++++++++++++++++++++++
前一篇:今天区比赛出现的几道编程题
后一篇:20220507区比赛第四题