第 126 题:编码问题
题目描述:给你一个 UTF-8 编码的汉字 s, 请你输出该汉字对应的 GBK 编码。一个汉字的 GBK
编码为两个字节,你请输出编码的十六进制值(若有字母,输出小写形式),两个字节之间
以一个空格隔开。
如:s = '你',
则输出:c4 e3
示例:
输入:s = "\u4f60"
输出:c4 e3
============================================================
第 127 题:数数
题目描述:给你一个正整数 n(0 < n < 1000000), 请你输出 0 到 n 之间“1”出现的次数。
例如 n = 4 时, [1, 2, 3, 4]出现了 1 个"1",因此输出 1
n = 12 时,[1,2,3,4,5,6,7,8,9,10,11,12]出现了 5 个"1", 因此输出 5
示例:
输入:n = 3
输出:1
>>> num=lambda n:sum([str(i).count('1') for i in [i for i in range(1,n+1)] if '1' in str(i)]) >>> num(4) 1 >>> num(12) 5 >>> num(999999) 600000 >>>
============================================================
第 128 题:数数 II
题目描述:给你一个正整数 n(0 < n < 10^20), 请你输出 0 到 n 之间“1”出现的次数。
例如 n = 4 时, [1, 2, 3, 4]出现了 1 个"1",因此输出 1
n = 12 时,[1,2,3,4,5,6,7,8,9,10,11,12]出现了 5 个"1", 因此输出 5 示例:
输入:n = 3
输出:1
>>> k=0 >>> n=10**20 >>> while n>0: k+=str(n).count('1') n-=1
============================================================
第 129 题:特殊的 9 位数
题目描述:1~9 的 9 个数字, 每个数字只能出现一次, 要求这样的 9 位数:其第一位能被
1 整除, 前两位能被 2 整除, 前三位能被 3 整除...依次类推,前 9 位能被 9 整除。所有的
9 位数中,只有一个数字满足这些条件,请你输出这个 9 位数。
>>> for i in perm([*range(1,10)],9): F = [] for j in range(2,10): if int(''.join(str(k) for k in i[:j]))%j==0: F.append(True) else: F.append(False) continue if all(F): print(int(''.join(str(k) for k in i[:j]))) break 381654729 >>> # 被1~5整除目测通过,其余手工验算: >>> 381654%6 0 >>> 3816547%7 0 >>> 38165472%8 0 >>> 381654729%9 0 >>>
============================================================
第 130 题:整数编码
题目描述:我们的编码规则为:1 到 26 之间的 26 个数据,可以编码为对应的’A'-’Z'。
现在给你一个纯数字字符串 s(s 的长度不超过 150),请你输出该串有多少种编码方式(所有
输入至少有一种编码方式)。
例如:
s='121', 则输出:3
s = '101', 则输出:2
Note:'121'对应的三种编码分别为:ABA(1,2,1), AU(1,21), LA(12,1).
'101'对应的两种编码分别为:AA(1,01), JA(10, 1).示例:
输 入 : s =
"3242352352342312342032403213423123420324032134231234203240321342312342032403213423123420324032134231234203240321012321420123214532303432"
输出:468095273533440