问题描述:
已知一个整数NN(十进制形式),输出它的八进制形式下,最低位上的数字,次低位上的数字,……,最高位上的数字
输入
十进制整数N(-10^{16}\leq N\leq 10^{16})N(−10
16
≤N≤10
16
)
输出
若干行,分别是八进制形式下的
最低位上的数字,
次低位上的数字,
……,
最高位上的数字
样例
输入
413
输出
5
3
6
Java代码:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long s = sc.nextLong();
String l = Long.toOctalString(Math.abs(s));
String s2 = String.valueOf(l);
for (int i = s2.length() - 1; i >= 0 ; i--) {
System.out.println(s2.charAt(i));
}
}
}
C代码:
#include <math.h>
#include <stdio.h>
int main(){
long long int a;
scanf("%lld",&a);
a=fabs(a);
while (a>0)
{
printf("%d\n",a%8);
a/=8;
}
}