题目描述
给你一个二进制的数字,请将其转换到八进制。
输入格式
输入一行一个二进制数。
保证位数不超过 100 ,并且首位为 1。
输出格式
输出一行一个八进制数。
1010
12
11001100
314
代码展示
#include <bits/stdc++.h>
using namespace std;
int main()
{
string ar;
cin>>ar;
long long l=ar.size();
if(l%3==1){ ar="00"+ar;
if(l%3==2) ar="0"+ar;
for(int i=0;i<=l;i+=3){
if(ar[i]=='0'&&ar[i+1]=='0'&&ar[i+2]=='0') cout<<0;
if(ar[i]=='0'&&ar[i+1]=='0'&&ar[i+2]=='1') cout<<1;
if(ar[i]=='0'&&ar[i+1]=='1'&&ar[i+2]=='0') cout<<2;
if(ar[i]=='0'&&ar[i+1]=='1'&&ar[i+2]=='1') cout<<3;
if(ar[i]=='1'&&ar[i+1]=='0'&&ar[i+2]=='0') cout<<4;
if(ar[i]=='1'&&ar[i+1]=='0'&&ar[i+2]=='1') cout<<5;
if(ar[i]=='1'&&ar[i+1]=='1'&&ar[i+2]=='0') cout<<6;
if(ar[i]=='1'&&ar[i+1]=='1'&&ar[i+2]=='1') cout<<7;
}
return 0;
}
谢谢观看!!