30/09/2018, 16:24

[Algorithm] Bài toán về cơ số

Em trai của @nhatlonggunz hiện tại đang học lớp 6. Học kì này em ấy đã học rất tốt môn số học. Biết chị gái của mình là người thích giải đố. Vì vậy em đã đố chị gái @nhatlonggunz của mình về bài toán cơ số sau:
Cho 1 số nguyên dương có số chữ số <1000, hãy biểu diễn ra 1 cơ số B (2<=B<=16) của số đó.
Vì là một lập trình viên xuất sắc, @nhatlonggunz nhanh chóng tính toán và viết luôn chương trình cho nó. Bạn hãy thử xem @nhatlonggunz đã làm thế nào nhé

###Input
dòng 1 là số nguyên dương mà em trai @nhatlonggunz đã cho ở cơ số 10
dòng 2 là cơ số B
###Output
biễu diễn ra cơ số B của số đã cho


Ví dụ:
####Input
555649441311321927504910952508
2
####Output
111000000110110011001110001111110101000000100101101100011111111000100101010110000010010100000111100
####Input
555649441311321927504910952508
16
####Output
7036671FA812D8FF12AC1283C


Ngôn ngữ cho phép C,C++,Java,Pascal, C#

nhatlonggunz viết 18:29 ngày 30/09/2018

cơ số là sao chị @Gio

X viết 18:27 ngày 30/09/2018

đổi thập phân sag Nhị / bát / thập lục… phân đó chụy

nhatlonggunz viết 18:25 ngày 30/09/2018

Vậy có phải đảo ngược lại dãy số đó không

Huhu, ứ muốn chuyển giới giống @Nhim_Xu âu

X viết 18:34 ngày 30/09/2018

khó lắm đó chụy ạ =)))

nhatlonggunz viết 18:40 ngày 30/09/2018

Em xin nộp bài ạ

int main()
{
	int n, A[1000], i, j = 0;
	
	cin >> n;
	cin >> i;

	while (n != 0){
		A[j] = n % i;
		n /= 2;
		if (A[j] > 9)
			{
				A[j] += 55;
			}
		j++;
	}
	for (int k = j - 1; k >= 0; k--){
		if (A[k] > 9){
			printf("%c", A[k]);
		}
		else
		{
			cout << A[k];
		}
	}

	cout << endl;
	system("pause");
	return 0;
}
Gió viết 18:27 ngày 30/09/2018

Đề cho số 1000 chữ số nên em không thể dùng kiểu int để lưu được.
Em nên tìm hiểu về cách cài số lớn qua xâu

nhatlonggunz viết 18:30 ngày 30/09/2018

Em không hiểu chỗ cài số lớn qua xâu.

Cơ mà về thuật toán là em có sai sót j không chị

Gió viết 18:25 ngày 30/09/2018

bài của em chỉ đúng với cơ số 2 với input < INT_MAX thôi

*grab popcorn* viết 18:30 ngày 30/09/2018

:v Java có thư viện hỗ trợ Bigint, hú hú =)))

NguyenDanh viết 18:26 ngày 30/09/2018

Em trai của @nhatlonggunz hiện tại đang học lớp 6. Và là một học sinh có năng khiếu toán. Vì vậy em đã đố chị gái @nhatlonggunz của mình về bài toán cơ số sau.

đọc đoạn này chả hiểu gì cả cơ mà muốn làm đc bài này chắc phải cài đặt lắm hàm lắm đây. Cụ thể là 1 vài hàm chuyển đổi thoã đc yêu cầu của bài toán. (chuyển đa hệ chẳng hạn).
p/s: cái này là mình nghĩ chuối thôi đó, có thể có cách khác -_-

Minh Hoàng viết 18:30 ngày 30/09/2018

định nghĩa kiểu dữ liệu BigNum khoảng 30000 chữ số cho máu, cài đặt thêm phép mod, div, và phép gán là xong thêm cái hàm đệ quy là ổn… Để hôm nào viết thử có bị tràn stack không :(( đang thi căng đét

Nhim Xu viết 18:35 ngày 30/09/2018

Huhu, ứ muốn chuyển giới giống @Nhim_Xu âu

Sao lại có Nhím xù ở đây nữa rồi

Tuấn Nguyễn viết 18:35 ngày 30/09/2018

Mình có thể áp dụng các phép toán + - * / 2 xâu để giải bài này . ^^

nhatlonggunz viết 18:31 ngày 30/09/2018

em vẫn chẳng hiểu cái đề, ví dụ em nhập 4 thì sao

*grab popcorn* viết 18:38 ngày 30/09/2018

trả bài k dùng Java, C#

Ideone.com

Ideone.com

Ideone is something more than a pastebin; it's an online compiler and debugging tool which allows to compile and run code online in more than 40 programming languages.

Bài liên quan
0