PTA 7-7 求符合给定条件的整数集

给定不超过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=' ')

猜你喜欢

转载自blog.csdn.net/weixin_58707437/article/details/127945639
今日推荐