進制均值(京東2017秋招真題)

wKioL1kcDGfhEKZLAAB8uj8XW9Q471.png

思路:利用取餘數方法可以得到轉換進制之後數字表示的所有位數,本題只求和的平均值,可以不嚴格       考慮正排列或者逆排列

      之後使用fractions的Fraction函數,方便滿足需要的分數格式要求



語句:fractions的Fraction函數  Fraction(a,b)中a表示分子,b表示分母



python代碼:

# -*- coding: utf-8 -*-

import fractions as f
while 1:
    number=[]
    a=int(raw_input())
    b=a
    for i in range(2,a):
        while a !=0:
            mod=a%i
            number.append(mod)
            a=a/i
        a=b       #注意此處要改回之前輸入的a值,代碼中保存爲b
    c=f.Fraction(sum(number),a-2)
    if c==int(c):
        print "%d/1" %c
    else:
        print c








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章