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é :neutral_face:

###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#

cơ số là sao chị @Gio

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

1 Like

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

1 Like

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

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;
}
1 Like

Đề 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 :night_with_stars:

2 Likes

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ị

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

2 Likes

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

4 Likes

đọc đoạn này chả hiểu gì cả :laughing: 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 -_-

đị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 :smiley: 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

1 Like

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

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

2 Likes

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

1 Like

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

5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?