已知2n+1个正整数1到2n+1要求将这些数据排列在n条具有一个共有端点的线段上(每条线段上放置3个数),使得每条边的3个数的累加和相等。
输入输出要求
1线段数量n需要从键盘输入(n必须大于3小于1000):
按照定点上数值从小到大的顺序输出每一条边上的数值数值之间用一个空格分隔,最后一个数值后面没有空格
举例 :
输入数据(本行与程序无关)
3
输出数据(本行与程序无关)
127
136
145
解题思路
n+1放公共点上然后依次最大的数和最小的放同一条线上
以数据为6为例:
代码
#输入数值
x=int(input("输入数据"))
#最大值
max=2*x+1
#n为公共点1
n=1
# n1为与公共点相连的数值列表
n1=[i+1 for i in range(1,x+1)]
# n2为与n1数值相连的列表
n2=[max+1-i for i in range(1,x+1)]
#判断
flag=0
while flag<=len(n2)-1:
print(n,"",n1[flag],"",n2[flag])
flag+=1
运行结果: