Hướng dẫn python program to convert decimal to octal using recursion - chương trình python để chuyển đổi thập phân sang bát phân bằng cách sử dụng đệ quy
Vấn đề: Viết một chương trình bằng Python để chuyển đổi số thập phân thành biểu diễn bát phân tương ứng của nó. Write a Program in Python to convert a decimal number into its corresponding octal representation. Example: Cách tiêu chuẩn để chuyển đổi số thập phân thành một bát phân là chia số thập phân cho 8 cho đến khi giảm xuống còn 0. Sau khi phân chia kết thúc, nếu chúng ta xếp các phần còn lại theo cách từ dưới lên, giá trị kết quả sẽ là số octal tương đương.
Output:: Nhập số thập phân: 15 nhị phân 15 là: 17 Chuyển đổi thập phân sang bát phân trong Python bằng cách sử dụng đệ quyĐể chuyển đổi thập phân thành bát phân bằng cách sử dụng đệ quy, chúng tôi chuyển chỉ số (cổ tức/8) sang cuộc gọi đệ quy tiếp theo và đầu ra giá trị còn lại (cổ tức%8). Chúng tôi lặp lại quá trình cho đến khi số giảm xuống 0 (nghĩa là cho đến số thập phân> 0). Kể từ khi đệ quy thực hiện ngăn xếp, phần còn lại được in theo cách từ dưới lên và chúng tôi nhận được số octal tương đương.
Output:: Nhập số thập phân: 8 Octal: 10 Chuyển đổi thập phân sang bát phân bằng OCT ()Phương pháp Python tích hợp Nó trả về một số bát phân dưới dạng
Nhận xét bên dưới nghi ngờ hoặc đề xuất của bạn nếu bạn có bất kỳ. Đưa ra một số thập phân làm đầu vào, chúng ta cần viết một chương trình để chuyển đổi số thập phân đã cho thành một số bát phân tương đương. tức là chuyển đổi số với giá trị cơ sở 10 thành giá trị cơ sở 8. Giá trị cơ sở của hệ thống số xác định số chữ số được sử dụng để biểu diễn giá trị số. Ví dụ: hệ thống số nhị phân sử dụng hai chữ số 0 và 1, hệ thống số octal sử dụng 8 chữ số từ 0-7 và hệ thống số thập phân sử dụng 10 chữ số 0-9 để biểu thị bất kỳ giá trị số nào. Ví dụ: & nbsp; Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 41 Algorithm: :
Ví dụ: & nbsp; Nếu số thập phân đã cho là 16. & nbsp; Bước 1: Phần còn lại khi 16 được chia cho 8 là 0. Do đó, ARR [0] = 0. & NBSP; được chia cho 8, là 2. Do đó, ARR [1] = 2. & nbsp; Bước 4: chia 2 cho 8. Số mới là 2/8 = 0. & nbsp; Bước 5: Vì số trở thành = 0. & nbsp;: Remainder when 16 is divided by 8 is 0. Therefore, arr[0] = 0. Dừng các bước lặp lại và in mảng theo thứ tự ngược lại. Do đó, số octal tương đương là 20. Sơ đồ dưới đây cho thấy một ví dụ về việc chuyển đổi số thập phân 33 thành số octal tương đương. & NBSP; & nbsp; Dưới đây là việc thực hiện ý tưởng trên. & Nbsp; & nbsp; C
0 1 2 3 4 1 6 4 1 9 4 1 2 3 4 3 6 3 8 4 0 4 2 3 1 5 3 7 3 9Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 410 0 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 413 3 4 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 417 4Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 419 4oct() 1 oct() 2 0C++
0 1 2 3 4 1 6 4 1 9 4 1 2 4 2 3 1 5 3 6 3 8 4 0 4 2 3 1 5 3#include 6 0 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 413 3 4 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 417 4Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 419 4oct() 1 oct() 2 0oct()5 oct()6 oct()7 3 4Java 00 01 4 3 02 03 4 05 void 0 1 2 3 1____114 15 1____117 18 19 30 31 32 24 30 35 32 24 30 8 3 0 3 1 222__123 24 30 52 4 0 3 1 27 23 29 4 3 3 2 3 1 46 47 48 23 50 3Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 419 4 0 0Python3 4 56 05 void 59 3 1 64 65 24 72 73 4 75 76 17 23 79 80 18 3 93 76 95 96 32 3 95 76 1______202 3 83 08 76 47 4 2 13 14 15 16__ 3 27 28 76 30 95 76 65 34C#
36 02 03 4 05 void 0 1 2 4 3 3 1____114 15 1 52 3 1 9 3 1 2
30 4 30 6 30 8 3 0 3 2 3 1 5 30 73 4 0 4 56 05 void 80 4 3 3 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 417 3Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 419 4 0 0PHP 91 92 0 94 05 3 4 98 24 4 01 02 4 1 3 94 07 4 3 3 98 17 01 14 94 16 3 94 19 94 21 3 01 24 4 0 4 2 29 30 31 01 3 39 98 17 30 19 0 94 46 0 94 49
50JavaScript 51 92 34 3 4 56 15 58 4 60 4 1 2 3 4 3 67 3 8 4 0 4 2 74 3 76 0 4 79 4Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 419 82Độ phức tạp về thời gian: O (log n) & nbsp; O(log N)Độ phức tạp không gian: O (n) Kể từ khi tạo mảng để lưu trữ các số bát phân since creating array to store octal numbers Một cách tiếp cận khác: (O (1) Độ phức tạp không gian)Vấn đề này cũng có thể được giải quyết mà không cần sử dụng mảng & nbsp; sử dụng thuật toán sau:
Dưới đây là việc thực hiện ý tưởng trên: C++
88 1 90 3 4 1 94 4 1 97 4 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4100 3 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4103 3Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4105 3Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4107 3Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4109 4 0 4Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4113 0 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 413 3 4 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 417 4Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4122 4oct() 1 oct() 2 0C
88 1 90 3 4 1 94 4 1 97 4 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4100 3 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4103 3Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4105 3Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4107 3Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4109 4 0 4 7 3 9Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4157 0 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 413 3 4 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 417 4Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4122 4oct() 1 oct() 2 0CJava 02 03 00 01 4 3 4 05 void Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4178 1 90 3 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4185 23Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4187 47 24 3 1 97 3 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4195 23 29 30Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4105 30oct() 06oct() 07 24 30oct() 10 32 24 3 0 3oct() 16 4 0 30 1 oct() 00 32 24 4 3 4 56 05 void 59 3oct() 32 4 0 0Python3 3 1 64 65 24 72 oct() 37 4 75 76 23 4oct() 43 76 47 4oct() 47 76 oct() 49 4 1 oct() 52 76 23 91 3 75 08 76 oct() 57 80 oct() 68 3oct() 43 76 oct() 43 80 oct() 07 3oct() 59 03 03 76 32 4 27oct() 83
76 76 oct() 88oct() 89 4 95 76 65 4oct() 95C#
36 02 03 4 05 void Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4178 1 90 4 3 3 1 94 3 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4100 30 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4103 30Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4105 30Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4107 30Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4109 3 0 30oxyz 26 4 0 4 56 05 void 0oxyz 330oxyz 340oxyz 35 4 3 3 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 417 3oct() 32 4 0 0JavaScript 51 92 0oxyz 48 3 40oxyz 51 40oxyz 53 4 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4100 30oxyz 58 3Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4105 3Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4107 30oxyz 64 4 0 40oxyz 680oxyz 69 49 0 4 79 4Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4122 82Độ phức tạp về thời gian: O (log n)O(log N) Không gian phụ trợ: O (1) O(1) Sử dụng hàm được xác định trước Java 00 01 02 03 4 05 void Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4178 1 90 4 3 30oxyz 91 4 0 3 1 94 4 3 3 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4100 3xyz 07 4 0 0Python3 30 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4103 4 27 3xyz 16xyz 17
76 76 oct() 88oct() 89 4 95 76 65 4xyz 07C#
36 02 03 3 4 05 void Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4178 1 90 4 3 3xyz 47 4 0 3 1 94 4 3 3 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 417 3xyz 61 4 0 0JavaScript 51 92 0oxyz 48 3 4xyz 70 0 4 1 Input : 16 Output: 20 Input : 10 Output: 12 Input : 33 Output: 4100
82C++
40oxyz 680oxyz 69 49Độ phức tạp về thời gian: O (log n) 3 4xyz 85 4xyz 87Không gian phụ trợ: O (1) 0Sử dụng hàm được xác định trước 3Java 4xyz 99 00 01 0 4 56 05 void 0oxyz 85 1 2 4 56 05 void 59Làm thế nào để bạn chuyển đổi thập phân sang bát phân?Trong thập phân thành nhị phân, chúng tôi chia số cho 2, theo số thập phân thành thập lục phân, chúng tôi chia số cho 16. Trong trường hợp thập phân thành Octal, chúng tôi chia số cho 8 và viết phần còn lại theo thứ tự ngược lại để có được số octal tương đương .divide the number by 8 and write the remainders in the reverse order to get the equivalent octal number.
Làm thế nào để bạn chuyển đổi một số thập phân thành thập lục phân trong Python?Phương pháp 1: Sử dụng hàm hex () hàm hex () là một trong những hàm tích hợp trong python3, được sử dụng để chuyển đổi số nguyên thành dạng thập lục phân tương ứng của nó.Using hex() function
hex() function is one of the built-in functions in Python3, which is used to convert an integer number into its corresponding hexadecimal form.
Làm thế nào để bạn chuyển đổi thập phân thành nhị phân trong Python?Trong Python, chúng ta chỉ có thể sử dụng hàm bin () để chuyển đổi từ giá trị thập phân sang giá trị nhị phân tương ứng của nó.Bin () lấy một giá trị làm đối số của nó và trả về một nhị phân tương đương.Lưu ý: Bin () Trả về giá trị nhị phân với tiền tố 0b, do đó tùy thuộc vào trường hợp sử dụng, nên thực hiện định dạng để loại bỏ 0b.use the bin() function to convert from a decimal value to its corresponding binary value. The bin() takes a value as its argument and returns a binary equivalent. Note: bin() return binary value with the prefix 0b, so depending on the use-case, formatting should be done to remove 0b.
Làm thế nào để bạn in thập phân nhị phân thập phân trong Python?Mã nguồn # Chương trình Python để chuyển đổi thập phân thành các hệ thống số khác dec = 344 in ("Giá trị thập phân của", dec, "là:") in (bin (dec), "in nhị phân."), "Trong Octal.") In (hex (dec), "trong thập lục phân.") Giá trị thập phân của 344 là: 0b101011000 trong nhị phân.0o530 trong bát phân.0x158 trong thập lục phân.print(bin(dec), "in binary.") print(oct(dec), "in octal.") print(hex(dec), "in hexadecimal.") The decimal value of 344 is: 0b101011000 in binary. 0o530 in octal. 0x158 in hexadecimal. |