将整数9876543210转换为-7进制
没错,不是7进制,是负七进制。可以笔算,口算,心算加计算机算。
答案如下,自己先思考。。。不然,不好玩-..-
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
反正我是口算不出来。╮(╯▽╰)╭。。。。那我就用计算机吧。
思路也不是很复杂,就是利用 A=a(0)*R^0+a(1)*R^1+a(2)*R^2+a(3)*R^3+....+a(n)*R^n
其中A是给出的一个10进制数,R为要转换的进制,比如-7. ai变为所有的数的系数。最后将a(n),a(n-1),...a(2),a(1),a(0),拍出来就是所求的R进制结果。
因为9876543210的数大于了int 和long 在c中的类型范围。so采用Python吧。但是最好不用Python的%取余运算,因为比较麻烦。-..-好了 代码如下,思路在代码中,,,,,
Python代码:
然后将res内部的数据逆序输出即可
答案如下,自己先思考。。。不然,不好玩-..-
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
反正我是口算不出来。╮(╯▽╰)╭。。。。那我就用计算机吧。
思路也不是很复杂,就是利用 A=a(0)*R^0+a(1)*R^1+a(2)*R^2+a(3)*R^3+....+a(n)*R^n
其中A是给出的一个10进制数,R为要转换的进制,比如-7. ai变为所有的数的系数。最后将a(n),a(n-1),...a(2),a(1),a(0),拍出来就是所求的R进制结果。
因为9876543210的数大于了int 和long 在c中的类型范围。so采用Python吧。但是最好不用Python的%取余运算,因为比较麻烦。-..-好了 代码如下,思路在代码中,,,,,
Python代码:
num=9876543210 res=[] while num: num1=int(num/-7) i=num-num1*(-7) if(i<0): i+=7 num1+=1 num=num1 res.append(i)