有关比特相关主题的测验

时间:2012-03-23 06:59:17

标签: algorithm numbers

i have following  quiz:
 Let x be an integer larger than the odd number q.  Change the value of x using the following rule 
    if  x  is even 
      then  x / 2 
      else  x – q 
    until x becomes smaller than q

如果x的最终值为零,您对原始输入值有什么看法? 我在考虑一件事:如果x是奇数或x = 2 * k + 1而我们减去奇数,我们得到偶数。另外我要注意,除非x是2的幂,否则在某一步除以2时,我们得到奇数。设q = 11; x> 11;我们取x = 23;因为x = 23是奇数,我们将得到x = x-q x = 23-11 = 12;现在x是偶数,因此我们将x / 2 = 6 <11,所以这里我们无法确定x的哪个值,但如果x = 22,那么我们将得到x = x / 2 = 11 x = 11是奇数,所以我们将有xq = 0 - &gt;这意味着x是q的倍数,但是哪一个奇数或偶数?我们取x = 33; x是奇数,所以x = x-11 = 22,它是偶数x = x / 2 = 11,它是奇数,因此x-q = 0;不,这是否意味着x是q的倍数?

1 个答案:

答案 0 :(得分:2)

是的,显然x是q的倍数。