求过
简单的一道模拟题。
思路
先将
具体见代码。
代码
#include<bits/stdc++.h>
using namespace std;
long long n;
string a="0123456789ABCDEF";//十六进制的数字
void print(int i){//输出
cout<<a[i/16]<<a[i%16]<<" ";
}
int main(){
cin>>n;
if(n==0){cout<<"00";return 0;}//0需要特判
while(n>0){
int k=n%128;//2^7=128,7位一截
n/=128;
if(n>0)print(k+128);//判断是否为最高位
else print(k);
}
return 0;
}
本题数据较水,不特判