Py数

来源:互联网 发布:免费听小说的软件 编辑:程序博客网 时间:2024/06/06 03:53
描述:
Py从小喜欢奇特的东西,而且天生对数字特别敏感,一次偶然的机会,他发现了一个有趣的四位数2992,这个数,它的十进制数表示,其四位数字之和为2+9+9+2=22,它的十六进制数BB0,其四位数字之和也为22,同时它的十二进制数表示1894,其四位数字之和也为22,啊哈,真是巧啊。Py非常喜欢这种四位数,由于他的发现,所以这里我们命名其为Py数。现在给你一个十进制4位数n,你来判断n是不是Py数,若是,则输出Yes,否则输出No。

如n=2992,则输出Yes; n = 9999,则输出No。

from __future__ import print_function# bin()、oct()、int()、hex()# n = 2992def twelve(n):    list = ''    while n >= 12:        temp = n % 12        if temp == 10:            list += 'a'        elif temp == 11:            list += 'b'        else:            list += str(temp)        n /= 12    list += str(n)    return ''.join(reversed(list))def  pick_out(n):    ret = ''    n_10 = str(n)    n_12 = str(twelve(n))    n_16 = str(hex(n))[2:]    # print(n_12)    sum_10 = 0    sum_12 = 0    sum_16 = 0    for index in n_10:        sum_10 += int(index)    for index in n_16:        sum_16 += int(index,16)    for index in n_12:        sum_12 += int(index,12)    if sum_12 == sum_16 and sum_16 == sum_10:        ret = 'Yes'    else:        ret = 'No'    return retprint(pick_out(n),end='')

原创粉丝点击