输入格式:输入的第一行包括测试用例的数量T
接下来的T行由N的值组成。
约束:1 <= T <= 100,1 <= N <= 250
输出格式:对于每个测试用例,请在一行中用空格分隔该系列的N个术语。
输入:
1
7
输出:
1 1 2 2 4 2 6
该系列是2个系列的组合,第一个系列:1,2,4,6,...和第二个系列:1,2,2,....我已经为第一个系列编写了代码系列,但找不到第二种编码方式。
def firstS:
l=[1]
i=1
x=math.ceil(7/2)
while(x!=0):
l.append(i+i)
i+=1
x-=1
return l
问题是没有元素,第一个系列有7个元素,第一个系列有4个元素,第二个系列有3个元素,第一个系列有8个元素,第一个具有4个元素,第二个有4个元素,第9个元素有第1个具有5个元素,第二个有4个元素,所以元素编号将用于系列1 math.ceil(n/2)
和系列2 math.floor(n/2)
,其中n是组合系列的总元素。
答案 0 :(得分:0)
对于迭代,每N
个迭代执行某项操作的一种方法是使用模运算符(%
)。模量基本上是余数运算符,因此当数字逐个迭代时,结果会定期重复。</ p>
此外,在Python中,进行for循环(重复一定次数)的标准方法是使用range。
下面是一个演示这两个示例的示例,其中每三个数字都有相同数量的感叹号:
# List the numbers 0-9 (repeat ten times)
for i in range(0, 10):
if i % 3 == 0:
print(i, "!")
elif i % 3 == 1:
print(i, "!!")
else:
print(i, "!!!")
结果:
0 !
1 !!
2 !!!
3 !
4 !!
5 !!!
6 !
7 !!
8 !!!
9 !
我将把它留给问问者一个练习,以确定如何将其应用于在打印两个不同序列之间进行切换的用例。