解的个数讨论

本帖于 2023-11-27 15:11:17 时间, 由普通用户 kde235 编辑

几位的分析非常好,我也跟风来讨论一下解的个数问题。
就从我们已得出的公式出发:
  d[2000] = (-2)^k * d[2]         ----- (1)
 
现在的问题是当给定d[2000]的值为m时,d[2]一共有多少个解 (例如在原题中, m=7)

注意m总可以分解出2的因子乘积:
   m = 2^p * q
p, q为整数, p>=0,  q为奇数(可能为负)

给定p,q,把k,d[2]看成未知数,我们需讨论以下方程的整数解个数。
  2^p * q  = (-2)^k * d[2]
 
首先明确,每个解的k和d[2]是一一对应的,所有解中不同k的个数就是所有解中d[2]的个数。
以p的值分情况讨论。

1) 当p=0时(也就是m是奇数时),方程变为
         q = (-2)^k * d[2]
   因为q为奇数,k一定为0, 因此此时只有一个解:
          d[2] = q = m
   也就是d[2]的值与d[2000]相等
   
2) 当p=1时, 方程为
        2 * q = (-2)^k * d[2]
    此时k可取两个值: 0和1, 对应于d[2]的两个解:
      k=0:  d[2] = 2*q = m
      k=1:  d[2] = 2*q/(-2) = -q = -m/2
    也就是说,d[2]或与d[2000]值相等,或为d[2000]的-1/2

3) 当p=2时,方程为
      2^2 * q = (-2)^k * d[2]
   此时k可取0,1,或2, 对应与d[2]的3个解:
      k=0:  d[2] = 2^2 * q = m
      k=1:  d[2] = 2^2 * q / (-2) = -2*q = -m/2
      k=2:  d[2] = 2^2 * q / (-2)^2 = q = m/4
      
不难看出,对于一般情况,方程共有(p+1)个解:  m, -m/2, m/4, -m/8, ....

现在可以回答几个前面关心的问题:
1. 何时只有一个解?
   当p=0, 也就是当m为奇数时(例如原题m=7)

2. 何时题中两种情况都可能发生(买和卖: k>0), 并且需要用到“第二天挖多于2枚”的条件?
   当p=1时, 方程有两种可能解: k为0或1,注意此时d[2]为 m 或 -m/2, 比较正负性可确定一个解
   例如: 当 m = 6 = 2 * 3 时, 我们知道 d[2]可为 6 或 -3, 因为有“第二天挖多于2枚”的条件,就只能为6
   
综上,如果原题改为"第2000天比1999天多挖6枚", 问题也只有一个解,而且需要考虑买和卖两种情况,感觉更有趣一些:)
  

请您先登陆,再发跟帖!