import mathdef primeFactors(n):pf = []while n % 2 == 0:pf.append(2)n = int(n / 2)for i in range(3, int(math.sqrt(n))+1, 2):while n % i == 0:pf.append(i)n = int(n / i)if n > 2:pf.append(n)return pfdef numberOfDivisors(n):div = 1temp = 1while n % 2 == 0:temp += 1n = int(n / 2)div = div * (temp)for i in range(3, int(math.sqrt(n))+1, 2):temp = 1while n % i == 0:temp += 1n = int(n / i)div = div * (temp)return divdef sumOfDivisors(n):s = 1temp = 1while n % 2 == 0:temp += 1n = int(n / 2)if temp > 1:s *= (2**temp - 1) / (2 - 1)for i in range(3, int(math.sqrt(n))+1, 2):temp = 1while n % i == 0:temp += 1n = int(n / i)if temp > 1:s *= (i**temp - 1) / (i - 1)return sdef eulerPhi(n):l = primeFactors(n)l = set(l)s = nfor x in l:s *= (x - 1)/xreturn sdef main():print(primeFactors(100))print(numberOfDivisors(100))print(sumOfDivisors(100))print(eulerPhi(100))if __name__ == '__main__':main()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。