- 可可爱爱的传送门
- 本来十进制转其他进制还是比较简单的
- 就是负进制奇奇怪怪
- 最重要的是在余数为负数的时候——
原来的余数减去进制(即加上进制的绝对值)
商+1 - 具体是这样的: if(a[i]<0)n++,a[i]-=r;
- 另一点是注意当余数>10时的输出需要用 (char)(a[j]-10+'A')
记得加“(char)”,否则会是一堆数字 - 当然用数组也是可以的
,但是我懒 - 其余见代码
#includeusing namespace std; int n,r,a[101],i; int main() { while(cin>>n>>r){ i=0; do{ a[++i]=n%r; n/=r; if(a[i]<0){//进位 n++,a[i]-=r; } }while(n!=0); for(int j=i;j>=1;j--){ if(a[j]<10)cout<



