import sys
# 对于个位数,每个5结尾的一定符合要求
# 对于其他数,首先其要是3的倍数,其次要是奇数
# 30一次循环,一轮循环7个 —— 3, 5, 9, 15, 21, 25, 27
class Solution(object):
def get_kth_number(self, k: int):
# 基本情况,小于7,即在一轮循环内
basic = [3, 5, 9, 15, 21, 25, 27]
if k <= 7:
print(basic[k-1])
return
times = (k-1) // 7 # 循环轮数
pos = (k-1) % 7
print(30*times + basic[pos])
# 测试
if __name__ == "__main__":
group = []
for line in sys.stdin:
group.append(line.strip())
solut = Solution()
for i in range(int(group[0])):
solut.get_kth_number(int(group[i+1]))
数学问题,发现其7个一组,每组间隔30就很简单了

京公网安备 11010502036488号