defnumbertowords(num):
to19="one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen".split()
tens="twenty thirty forty fifty sixty seventy eighty ninety".split()defwords(n):if n<20:return to19[n-1:n]if n<100:return[tens[n//10-2]]+words(n%10)if n<1000:return[to19[n//100-1]]+['hundred']+['and']+words(n%100)for p, w inenumerate(('thousand','million','billion'),1):print(p,w)if n<1000**(p+1):# 下一个三位return words(n//1000**p)+[w]+words(n%1000**p)# 先1000**p再算//return" ".join(words(num))or'zero'whileTrue:try:print(numbertowords(int(input())))except:break
HJ45 名字的漂亮度
whileTrue:#处理多组输入try:
n =int(input().strip())#接收待处理的数据个数ifnot n:breakfor i inrange(n):#接收每个待处理的字符串
s =input().lower()ifnot s.isalpha():break#输入不是字母为非法输入
l =[]
res =0for i inlist(set(s)):#记录字母出现次数
l.append(s.count(i))
l.sort(reverse=True)#将字母出现次数从大到小排序for i inrange(len(l)):#计算最大漂亮度
res += l[i]*(26-i)print(res)except:break