给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。
输入格式:
输入在一行中给出A。
输出格式:
输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。
输入样例:
2
输出样例:
234 235 243 245 253 254
324 325 342 345 352 354
423 425 432 435 452 453
523 524 532 534 542 543
a = int(input())
lis = [a,a+1,a+2,a+3]
lis_temp = []
# 通过观察可知道组合的最小数和最大数,省去排序
min_ = eval(str(lis[0])+str(lis[1])+str(lis[2]))
max_ = eval(str(lis[3])+str(lis[2])+str(lis[1]))
for i in range(min_,max_+1): # 去除重复的数
if i%10 in lis:
if i//10%10 in lis:
if i//10//10 in lis:
if i%10 != i//10%10 and i%10 != i//10//10 and i//10%10 != i//10//10:
lis_temp.append(i)
# 每6行输出
for i in range(6):
if i == 5 or i==11 or i==17 or i==23:
print(lis_temp[i])
else:
print(lis_temp[i],end=' ')
for i in range(6,12):
if i == 5 or i==11 or i==17 or i==23:
print(lis_temp[i])
else:
print(lis_temp[i],end=' ')
for i in range(12,18):
if i == 5 or i==11 or i==17 or i==23:
print(lis_temp[i])
else:
print(lis_temp[i],end=' ')
for i in range(18,24):
if i == 5 or i==11 or i==17 or i==23:
print(lis_temp[i],end = '')
else:
print(lis_temp[i],end=' ')