永恒的蓝色梦想 发表于 2020-4-23 10:45:57

题目506:钟表序列

本帖最后由 永恒的蓝色梦想 于 2020-5-19 11:02 编辑

https://s1.ax1x.com/2020/05/19/Y46zUx.png
https://s1.ax1x.com/2020/05/19/Y4cS56.png

fish_游鱼 发表于 2020-4-23 13:03:40

def clock_sequence():
    """数字序列"""
    while True:
      for i in :
            yield i


def clock_num():
    """钟表序列"""
    sequence = clock_sequence()
    num_list, counter = [], 1
    for i in sequence:
      num_list.append(i)
      if sum(num_list) == counter:
            yield int(''.join(map(str, num_list)))
            num_list = []
            counter += 1


def clock_sum(n):
    """前n个钟表序列之和"""
    num_gen = clock_num()
    s = 0
    for i in range(n):
      s += next(num_gen)
    return s


print(clock_sum(11))# 36120
print(clock_sum(1000) % 123454321)# 18232686
print(clock_sum(1014) % 123454321)# 3084519

永恒的蓝色梦想 发表于 2020-4-23 13:28:40

fish_游鱼 发表于 2020-4-23 13:03


抱歉,题目的指数没写出来……其实是要求 S(10**14) {:10_262:}
页: [1]
查看完整版本: 题目506:钟表序列