计算器趣题(二)

上节我们说到,先凑出 37 37 37,再搞出 18 18 18,就能搞出 666 666 666
那为什么是这两个数呢?

尝试把 666 666 666 质因数分解,得到 666 = 2 × 3 2 × 37 666=2\times3^2\times37 666=2×32×37发现没?最后的答案 a n s = 46 = ( 2 + 3 + 3 + 37 ) + 1 ans=46=(2+3+3+37)+1 ans=46=(2+3+3+37)+1
难道这仅是巧合吗?
我们再举几个例子。
18 = 2 × 3 2 , a n s 18 = 2 + 3 + 3 + 1 = 9 18=2\times3^2,ans_{18}=2+3+3+1=9 18=2×32,ans18=2+3+3+1=9 63 = 7 × 9 , a n s 63 = 7 + 9 + 1 = 17 63=7\times9,ans_{63}=7+9+1=17 63=7×9,ans63=7+9+1=17 72 = 2 3 × 3 2 , a n s 72 = 2 + 2 + 2 + 3 + 3 + 1 = 13 72=2^3\times3^2,ans_{72}=2+2+2+3+3+1=13 72=23×32,ans72=2+2+2+3+3+1=13现在你信了吧。

今有结论
\quad 若正整数 N = p 1 p 2 . . . p c N=p_1p_2...p_c N=p1p2...pc,其中 p p p 是素数,则最少需要 ( ∑ p ) + 1 (\sum{p})+1 (p)+1 次才能按出 N N N

证明: 考虑数 n = p 1 n=p_1 n=p1显然,我们只有 1 1 1 种方案按出 n n n,就是按 n n n=GT

为什么我们没有第二种方案呢?
假设我们有第二种方案按出 n n n,而且它是先按出 x   ( 1 &lt; x &lt; n ) x\ (1&lt;x&lt;n) x (1<x<n),再经过一波操作搞出 n n n
那么,因为你已经搞出了 x x x,所以接下来的操作中,最小的加数也是 x x x
换句话说,你没法再加比 x x x 更小的数了。
所以这样的话, x x x 必须满足 x   ∣   gcd ⁡ ( x , n ) x\ |\ \gcd(x,n) x  gcd(x,n) x   ∣   n x\ |\ n x  n因为 n n n 是素数, x &lt; n x&lt;n x<n,所以 x = 1 x=1 x=1,矛盾!

这样我们就证明了,当 n n n 为素数时,有且只有一种方案,且 a n s = n + 1 ans=n+1 ans=n+1


那如果 n ′ = p 1 p 2 n&#x27;=p_1p_2 n=p1p2 呢?

设我们先按出 x ′   ( 1 &lt; x ′ &lt; n ) x&#x27;\ (1&lt;x&#x27;&lt;n) x (1<x<n),经过一波操作后得到 n ′ n&#x27; n。因为 n ′ n&#x27; n 的因子只有 1 , p 1 , p 2 , n 1,p_1,p_2,n 1,p1,p2,n,根据上面的证明,有 x ′ ∈ { p 1 , p 2 } x&#x27;\in\{p_1,p_2\} x{p1,p2}

x ′ = p 1 x&#x27;=p_1 x=p1 时,需要按 a n s 1 = p 1 + 1 ans_1=p_1+1 ans1=p1+1 次( p 1 p_1 p1= 和一次 GT)。
这样我们就得到 1 1 1 p 1 p_1 p1,而我们的目标是 p 2 p_2 p2 p 1 p_1 p1,所以我们还差 p 2 − 1 p_2-1 p21 p 1 p_1 p1,所以还需按下 p 2 − 1 p_2-1 p21= 和一个 GT 一共 a n s 2 = p 2 ans_2=p_2 ans2=p2 次。

这样我们就证明了,当 n ′ n&#x27; n 为两素数乘积时,至少需要按下 ( a n s = a n s 1 + a n s 2 = p 1 + p 2 + 1 ) (ans=ans_1+ans_2=p_1+p_2+1) (ans=ans1+ans2=p1+p2+1) 次。


那如果 N = p 1 p 2 . . . p c N=p_1p_2...p_c N=p1p2...pc 呢?
同理。设 N c = p 1 p 2 . . . p c N_c=p_1p_2...p_c Nc=p1p2...pc。则 N 3 = p 1 p 2 p 3 = N 2 p 3 N_3=p_1p_2p_3=N_2p_3 N3=p1p2p3=N2p3按出 N 2 N_2 N2 需要 ( p 1 + p 2 + 1 ) (p_1+p_2+1) (p1+p2+1) 次,我们还差 p 3 − 1 p_3-1 p31 N 2 N_2 N2。同上理,按出 N 3 N_3 N3 需要 p 1 + p 2 + p 3 + 1 p_1+p_2+p_3+1 p1+p2+p3+1 次。

设按出 N a N_a Na 需要 a n s a ans_a ansa 次。
因为 N a = N a − 1 p a N_a=N_{a-1}p_a Na=Na1pa所以 a n s a = a n s a − 1 + p a ans_a=ans_{a-1}+p_a ansa=ansa1+pa易知 a n s 1 = p 1 + 1 ans_1=p_1+1 ans1=p1+1,所以 a n s c = a n s c − 1 + p c = a n s c − 2 + p c − 1 + p c = . . . = a n s 1 + p 2 + . . . + p c = ( ∑ i = 1 c p i ) + 1 \begin{aligned}ans_c&amp;=ans_{c-1}+p_c\\ &amp;=ans_{c-2}+p_{c-1}+p_c\\ &amp;=...\\ &amp;=ans_1+p_2+...+p_c\\ &amp;=(\sum_{i=1}^{c}p_i)+1 \end{aligned} ansc=ansc1+pc=ansc2+pc1+pc=...=ans1+p2+...+pc=(i=1cpi)+1
Q.E.D.. \text{Q.E.D..} Q.E.D..

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值