11
import os
import sys
def huiwen(str):
length = len(str)
# if length == 0:
# return -1
result = []
for i in range(length-1): # 0 - length-2
for j in range(i+2,length+1):
# 取出从索引 i 到 j-1 的子串
s = str[i:j]
# 正序倒序
if s == s[::-1]:
result.append(len(s))
if result:
return min(result)
else:
return -1
str = input().strip()
print(huiwen(str))
12
# 单斜线(/)用于执行传统的除法运算,无论操作数是整数还是浮点数,结果都会以浮点数的形式返回。例如:
# 例如:
# print(10 / 3) # 输出:3.3333333333333335
# 而双斜线(//)则用于执行整除运算,它会返回除法结果的整数部分,也就是说,它会向下取整
# 例如:
#
# print(10 // 3) # 输出:3
# num = input()
# print(type(num))
# num = int(num)
# print(type(num))
# 2
# <class 'str'>
# <class 'int'>
n = int(input())
sum = 0
for i in range(n):
a = int(input())
for j in range(1,a+1):
list = []
if a%j==0:
list.append(j)
for m in range(len(list)):
if list[m] % list[(m+1)//2] == 0:
print(list[m])
13
a, b = input().split() # 输入两个字符串
result = []
for i in range(3):
new = int(a[i]) + int(b[i]) # 计算同位置数字相加
new1 = new % 3 # 取余数
result.append(str(new1)) # 转换为字符串再存入列表
print(''.join(result)) # 连接字符串并输出
a,b=input().split()
result='' # 初始化一个空字符串 result,用于存储最终的计算结果。
for i in range(3):
new=int(a[i])+int(b[i])
new1=new%3
result+=str(new1) # result += str(new1) # result = '2' + '1' = '21'
print(result)
14
# Sn = n / 2 * ( 2 * a1 + ( n - 1 ) * d )
# Sn = a1 * ( ( 1 - q ** n ) / ( 1 - q ) )
n=int(input())
result=n*n%998244353
print(result)
n = 5
a1 =1
d = 1
q = 2
Sn = n / 2 * ( 2 * a1 + ( n - 1 ) * d )
Zn = a1 * ( ( 1 - q ** n ) / ( 1 - q ) )
print(Sn)
print(Zn)
# 15.0
# 31.0
15
n = int(input())
for i in range(n):
list =[]
for _ in range(4):
list.append((input()))
# 1
# * * * *
# * * * *
# * * * *
# * * * *
# No
# list.append((input().split()))
# 1
# * * * *
# * * * *
# * * * *
# * * * *
# Yes
flag = False
for i in range(3):
for j in range(3):
if list[i][j] == list[i][j + 1] == list[i + 1][j] == list[i + 1][j + 1]:
flag = True
break
if flag == True:
break
if flag == False:
print('No')
else:
print('Yes')
16
a,b,c,d=map(int,input().split())
maxarea=min(a,c)*min(b,d)
print(maxarea)
17
n , v = map(int, input().split())
lists = list(map(int, input().split()))
count = 0
u = 0
for i in lists:
if i + u > v or u == 0:
count += 1
u = i
else:
u = u + i
print(count)
18
t = int(input())
for _ in range(t):
n = int(input())
lst = list(map(int, input().split()))
a, k, b = map(int, input().split())
m = int(input())
for j in range(m - 1):
for i in range(n):
lst[i] += a
if lst[i] > k:
lst[i] = b
#print(*lst) 是用来将列表中的元素逐个打印到同一行,并且元素之间用空格分隔。例如,如果 lst = [1, 2, 3],它会打印:
# 1 2 3
print(*lst)
19
def f():
q = int(input())
l = list(map(int, input().split()))
if l[0] % 2 != 0:
return 0
else:
for j in range(1, len(l)):
if l[j] < l[0] and l[j] % 2 != 0:
return 1
return -1
h = int(input())
for i in range(h):
print(f())
20
def solve():
n = int(input())
cnt, sum = 0, 1
while sum < n:
sum *= 2
cnt += 1
print(cnt)
if __name__ == '__main__':
t = int(input())
while t:
t -= 1
solve()
21
t=int(input())
for i in range(t):
n,m=map(int,input().split())
# b > a
# b > m = a
# b = n - m > m = a
# n > 2 * m
if n>m*2:
b=n-m
a=n-b
# print(str(a)+" "+str(b))
print(f'{a} {b}')
else:
print(-1)
22
n=int(input())
for i in range(3*n):
print(n*'*'+2*n*'.'+n*'*')
for i in range(1,1+n):
print(i*'.'+n*'*'+(2*n-2*i)*'.'+n*'*'+i*'.')
# print(3*'2 ')
23
def count(s, t):
n = len(s)
m = len(t)
extended_s = s + s
count = 0
for i in range(n):
if extended_s[i:i + m] == t:
count += 1
return count
s = input().strip()
t = input().strip()
print(count(s, t))
# s1 = "Hello"
# s2 = "World"
# s3 = "!"
# result1 = "".join([s1, s2, s3]) # 用空字符串拼接
# result2 = s3 + s2 + s1
# print(result1)
# print(result2)
24
x=int(input())
x*=10
for i in range(10):
if (x+i)%7==0:
print(x+i)
break
25
# 在 Python 里,可以使用 sort(reverse=True) 或 sorted() 来实现降序排序。
# lst = [3, 1, 4, 1, 5, 9]
# lst.sort(reverse=True) # 降序排序
# print(lst)
#
# print(" ".join(str(num) for num in lst))
n=int(input())
ll=list(map(int,input().split()))
if ll.count(0) == 0:
print(-1)
else:
ll.sort()
ll=ll[::-1]
for i in ll:
print(i,end='')
26
s=input()
count=0
x=0
y=0
for i in s:
if i=='a':
x+=1
else:
y+=1
# 这个 f-string(格式化字符串) 用于格式化两个整数 x 和 y,并确保它们始终以 两位数 的形式显示。
# 如果 x 或 y 是 个位数,它们会被填充 0 变成 两位数。
score=f'{x:02d}{y:02d}'
# print(score)
count+=score.count('0')
print(count)
27
q = int(input())
for _ in range(q):
m,x = map(int,input().split())
res = (x-1)%m+1
print(res)
28
a, k, q = map(int, input().split()) # 首项 公差 循环次数
for _ in range(q):
l, r = map(int, input().split()) # 从l-r
length = r - l + 1
first = a + (l - 1) * k
if k % 2 == 0:
if first % 2 == 0:
print(-1)
else:
print(1)
else:
if length % 2 == 0:
print(0)
else:
if first % 2 == 0:
print(-1)
else:
print(1)
29
n = int(input())
k = 0
while n % 2:
k += 1
# n //= 10 是 整数除法赋值运算,它的作用是 去掉 n 的最后一位数字。
n //= 10 # 右移
# print(n)
print(k)
30
from math import gcd
for _ in range(int(input())):
n,k=map(int,input().split())
if k%2==1:
print(n)
for i in range(1,n+1):
print(i,end=" ")
else:
if (k//gcd(n,k))%2==0:
print(-1)
else:
print(n//gcd(n,k))
for i in range(1,n+1,gcd(n,k)):
print(i,end=" ")
print()
# # 截断
# print(8 // 3) # 输出: 2
# print(7 // 3) # 输出: 2
# print(-7 // 3) # 输出: -3
31
import sys
import math
# for line in sys.stdin:
# 这行代码会遍历标准输入(通常是键盘输入或输入重定向的文件流)中的每一行。每次循环 line 会包含输入的一行内容,line 是一个字符串,可能包含空格或其他分隔符。
#
# line.split()
# split() 是字符串的方法,它会将字符串按空格(或其他分隔符)分割成多个子字符串,并返回一个列表。例如,如果输入的 line 是 "3 4", 那么 line.split() 将会返回 ['3', '4']。
#
# map(int, line.split())
# map(int, line.split()) 将 line.split() 返回的每个子字符串(这些都是数字的字符串)转换为整数。这里 map() 会依次将 line.split() 中的每个元素传递给 int() 函数,最终返回一个迭代器,包含转换后的整数。
#
# list(map(int, line.split()))
# 将 map() 返回的迭代器转换为一个列表。这样你就得到了一个整数列表,例如:如果输入的 line 是 "3 4",那么 l 将是 [3, 4]。
for line in sys.stdin:
l = list(map(int, line.split()))
# math.pow(l[0], 2) 就是将 l[0] 这个数进行平方运算,即 l[0] ** 2。
# r = math.sqrt(math.pow(l[0], 2) + math.pow(l[1], 2))
r = math.sqrt((l[0] ** 2) + (l[1] ** 2))
res = 11 - r
if res == 11:
print(10)
elif res > 0:
print(math.floor(res))
else:
print(0)
# import sys
# import math
#
# l = list(map(int, input().split()))
# r = math.sqrt(l[0] ** 2 + l[1] ** 2)
# res = 11 - r
# if res == 11:
# print(10)
# elif res > 0:
# print(math.floor(res))
# else:
# print(0)
32
# 总结:
# //(整数除法):返回整数部分,即使输入是浮点数,结果也是整数(向下取整)。
# /(普通除法):返回浮点数,结果即使是整数,值也会是浮动的浮点数。
n,k = map(int,input().split())
if k==1:
s = n*n/2
print("%.2f"%s)
elif k%2 == 0:
qie = k/2
long = n/(qie+1)
area = long*long
print("%.2f"%area)
else:
shu = k//2
ans = (n*n)/((shu+1)*(shu+2))
print("%.2f"%ans)