永发信息网

为什么任意一个正整数都可以用2的幂次方表示

答案:2  悬赏:0  手机版
解决时间 2021-02-23 05:26
  • 提问者网友:沦陷
  • 2021-02-22 21:13
就是说用2的0次幂 2的一次幂 2的二次幂………… 2的n次幂 这些数相加的和可以等于所有数 比如说1=2的0次幂 2=2的一次幂 3=2的0次幂加2的一次幂 …………
最佳答案
  • 五星知识达人网友:人類模型
  • 2021-02-22 21:50
这就是二进制嘛
全部回答
  • 1楼网友:野慌
  • 2021-02-22 22:03
也不说用什么语言,怎么给你写程序嘛,还是你自己写吧,用递归来做这样的程序是很简单的,不用管n有多大,因为n太大以后就需要多次扫描。 对于任意的数n,可以根据其二进制形态哪些位数为1改为∑2(i)的形式,然后递归把里面括号中大于的2的数进行分解,最后没有大于的2的指数出现即可。 设计一个把n转换为字符串的函数,逐位转换时,如果遇到大于2的指数就递归调用一次本函数,装配一下字符串即可。 补充: 今天花了半小时下载和学习了qbasic,下面是我人生的第一个qbasic程序,调试通过,结果保证正确: function str2$ (x) let s$ = "" let i = x let j = 0 do while i > 0   if i mod 2 = 1 then     if s$ <> "" then s$ = "+" + s$     if j > 2 then       s$ = "2(" + str2$(j) + ")" + s$     else       if j = 1 then         s$ = "2" + s$       else         if j = 0 then           s$ = "2(0)" + s$         else           s$ = "2(2)" + s$         end if       end if     end if   end if   i = int(i / 2)   j = j + 1 loop str2$ = s$ end function declare function str2$ (x!) input x print str2$(x) 有主程序和函数,我是按f2进行切换分开复制的,我也不太熟悉qbasic的操作,希望你是高手,一看就明白。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯