输入一个十进制正整数,然后输出它所对应的八进制数。
输入格式
输入一个十进制正整数n(1≤n≤106)。
输出格式
输出n对应的八进制数,输出在一行。
样例输入
10
样例输出
12
解题思路
这道题最重要的是明白十进制和八进制直接转换的规则。十进制转二进制方法是除二倒取余,十进制转八进制也类似,即除八倒取余。知道怎么转换之后代码就很简单了。
代码如下
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
int m,n;
cin>>n;
vector <int> v;
int i=0;
while(n)
{
m=n%8;
v.push_back(m);
n=n/8;
i++;
if(n<8)
{
v.push_back(n);
n=0;
}
}
for(i;i>=0;i--)
cout<<v[i];
cout<<endl;
return 0;
}