NC220789. tjc与sweet
描述
tjc的老师为了鼓励tjc读书,决定给tjc一些读书的奖励。
tjc从第一页开始按顺序读书,从第二页开始,如果tjc读完了第 页书,那么tjc的老师会给tjc一些糖果,糖果的个数是 和 的数位和的差的绝对值(例如,对于 ,小M会得到 颗糖)。
tjc想知道如果自己读了 页书的话,自己能得到多少糖果呢?
输入描述
第一行一个整数 。
输出描述
一个数,表示得到的糖果数对 取模的结果。
示例1
输入:
10
输出:
16
pypy2(pypy2.7.13) 解法, 执行用时: 50ms, 内存消耗: 20448K, 提交时间: 2021-05-18 13:39:08
n = input() ans = 17*(n//10) + (n%10) - 1 n //= 100 p = 1 while n > 0: k = n//10 + 1 t = n%10 ans += (9*(k-1)+t)*p*9 p += 1 n //= 10 ans %= 1000000007 print(ans)
pypy3(pypy3.6.1) 解法, 执行用时: 44ms, 内存消耗: 18672K, 提交时间: 2021-04-16 19:21:46
K=1000000007 S=input() ans=(int(S)-1)%K n=len(S) now=last=0 for i in range(n-1): now=(now*10+int(S[i]))%K ans=(ans+(now-last)*((n-i-1)*9-2))%K last=now print(ans)
Python3(3.9) 解法, 执行用时: 47ms, 内存消耗: 6784K, 提交时间: 2021-04-17 09:48:59
n=int(input()) a=n-1 n//=10 c=7 p=int(1E9+7) while n>0: a=a+c*n if c==7: c=9 n//=10 print(a%p)