思路:利用取余数方法可以得到转换进制之后数字表示的所有位数,本题只求和的平均值,可以不严格 考虑正排列或者逆排列
之后使用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