题面描述:
为祝贺新一批的研究生入学,队长让大家为新人命题训练其程序设计能力。有人
问队长能不能黑,队长说可以黑但是不能黑那啥。大家很失望 2333,于是
calfcamel 决定出一道 2333 的题目。给你一个小于 60 位的整数 p,求大于 p 的最
小的数 p1,使得 p1 中包含数 2333。
输入数据:
输入数据的第一行为一个正整数 T,表示有 T 组数据。随后的 T 行中每行包括一
个小于 60 位的整数 p (T <= 50, 1 <= p <10^60,即 10 的 60 次方)。
输出数据:
对每组输入数据单独输出一行结果, 第 x 行结果形如“Case #x: a”, 其中 x 为组
号,从 1 开始, a 为对应的结果。
样例输入:
2
100
1000000000000
样例输出:
Case #1: 2333
Case #2: 1000000002333
方法有问题,求探讨一下
程序源码:
t = int(input())
an = []
c = 1
for i in range(t):
da = input()
print(da)
x = da.rfind('2')
print(x)
print(da[0:3]+'2333')
s1 = da[-4:-1]
print(s1)
leng = len(da)
if da[-5] in '2':
s1 = da[-4:-1]
print(s1)
if (int(s1)) < 333:
out = da[0:leng-4]+'3330'
print("1",out)
else:
out = da[0:leng-5]+'32333'
print("2",out)
else:
s1 = da[-4:]
if (int(s1)) < 2333:
out = da[0:leng-4]+'2333'
print("3",out)
else :
s2 = da[0:-4]
n2 = int(s2)+1
out = str(n2)+'2333'
print("4",out)