首页 > 代码库 > Project Euler problem 69
Project Euler problem 69
考察欧拉函数的一道题
首先要知道 【定理】正整数n(n≥2)可以唯一分解成素数乘积,即:n =p[1]^r1 * p[2] ^r2 * p[3]^r3. *...* p[s]^rs
其次欧拉函数有两个性质,可以用来编程,单独求phi函数:
① phi(m) = m ( 1- 1/p[1]) ( 1- 1/p[2])…( 1- 1/p[s])
② phi(p^k) = p^k – p^(k-1) = (p-1)p^(k-1)
然后 m/phi(m) = (p[1] *p[2]*p[3]*....*p[s]) / ((p[1] - 1) * (p[2] - 1) * ... * (p[s] - 1))
观察这个式子
对一个正整数x来说
x / (x - 1)
其中x越小本式子最大
那么题目要求的东西,就显而易见了,
一个数,由最小的几个素数相乘,并且在1000000以内
Project Euler problem 69
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。