描述
将十进制数转换为八进制,并输出。
图:将十进制数转换为八进制并输出
输入
输入包含若干十进制正整数。
输出
输出相应的八进制数,每个占一行。
输入样例 1
1
2
3
7
8
9
19
10020345
输出样例 1
1
2
3
7
10
11
23
46162771
八进制就是逢八进一即达到八就要进一位,那么这就简单了,直接模拟就行了。每次存入对八取余然后让这个数除以八就行了。
这题有两种写法一种是偷鸡打法一种是老实模拟
偷鸡打法:
//1024
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
int t;
while(cin>>t)
{
printf("%o\n",t);
}
return 0;
}
模拟打法:
#include <bits/stdc++.h>
using namespace std;
long long n;
int a[64];
int main()
{
while(cin>>n)
{
memset(a,0,sizeof(a));
int t=0;
while(n)
{
a[t++]=n%8;
n/=8;
}
for(int i=t-1;i>=0;i--)
cout<<a[i];
cout<<endl;
}
return 0;
}