Dado un número decimal N, convierta N en un número octal equivalente, es decir, convierta el número con valor base 10 en valor base 8. El sistema de números decimales usa 10 dígitos 0-9 y el sistema de números octales usa 8 dígitos de 0-7 para representar cualquier valor numérico.
Ilustración:
Input : 33 Output: 41 Input : 10 Output: 12
Enfoque 1:
- Almacene el resto cuando el número se divide por 8 en una array.
- Divide el número por 8 ahora
- Repita los dos pasos anteriores hasta que el número no sea igual a 0.
- Imprima la array en orden inverso ahora.
Ejemplo:
Java
// Java program to convert a Decimal Number to Octal Number // Importing input output classes import java.io.*; // Main class class GFG { // Method // To convert decimal to octal static void decToOctal(int n) { // Creating an Integer array of // array to store octal number int[] octalNum = new int[100]; // counter for octal number array int i = 0; while (n != 0) { // Storing remainder in octal array octalNum[i] = n % 8; n = n / 8; i++; } // Printing octal number array in reverse order for (int j = i - 1; j >= 0; j--) System.out.print(octalNum[j]); } // Method 2 // Main driver method public static void main(String[] args) { // Custom input Integer number int n = 33; // Calling the above method to convert // Decimal to Octal number decToOctal(n); } }
Producción
41
Complejidad de tiempo: O (log N)
Enfoque 2:
- Inicialice ocatalNum con 0 y countVal con 1 y el número decimal como n
- Calcular el resto cuando el número decimal dividido por 8
- Actualice el número octal con octalNum + (resto * countval)
- Incrementar el contador por contador*10
- Divide el número decimal por 8
- Repita desde el paso 2 hasta que el número decimal sea cero
Ejemplo:
Java
// Java Program to Convert Decimal Number to Octal Number // Importing input output classes import java.io.*; // Main class class GFG { // Method 1 // To calculate the octal value of the given // decimal number static void decimaltooctal(int deciNum) { // Initially declaring and initializing the // octal number with zero int octalNum = 0, countval = 1; int dNo = deciNum; // Condition check while (deciNum != 0) { // Decimals remainder is calculated int remainder = deciNum % 8; // Storing the octalvalue octalNum += remainder * countval; // Storing exponential value countval = countval * 10; deciNum /= 8; } // Print and display the octal number System.out.println(octalNum); } // Method 2 // Main driver method public static void main(String[] args) { // Custom input decimal number int n = 33; // Calling the Method1 to convert above number // to Octal number system decimaltooctal(n); } }
Producción
41
Complejidad de tiempo: O (log N)
Espacio auxiliar: O (1)
Publicación traducida automáticamente
Artículo escrito por mayur_patil y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA