Chúng tôi có nhiều thách thức dựa trên cơ sở 10, cơ sở 2, cơ sở 36 hoặc thậm chí cơ sở -10 , nhưng còn tất cả các cơ sở hợp lý khác thì sao?
Bài tập
Cho một số nguyên trong cơ sở 10 và một cơ sở hợp lý, trả về số nguyên trong cơ sở đó (dưới dạng một mảng, chuỗi, v.v.).
Quá trình
Thật khó để tưởng tượng một cơ sở hợp lý, vì vậy hãy hình dung nó bằng Exploding Dots :
Xem xét hoạt hình này, thể hiện 17 trong cơ sở 3:
Mỗi dấu chấm đại diện cho một đơn vị và các hộp đại diện cho các chữ số: hộp ngoài cùng bên phải là vị trí của một người, hộp giữa là vị trí 3 ^ 1 và hộp ngoài cùng bên trái là vị trí 3 ^ 2.
Chúng ta có thể bắt đầu với 17 chấm tại địa điểm của một người. Tuy nhiên, đây là cơ sở 3, vì vậy các vị trí phải nhỏ hơn 3. Do đó, chúng tôi "nổ" 3 chấm và tạo một dấu chấm trên hộp ở bên trái. Chúng tôi lặp lại điều này cho đến khi chúng tôi kết thúc với một vị trí ổn định không có chấm phát nổ (tức là 3 chấm trong cùng một hộp).
Vậy 17 ở cơ sở 10 là 122 ở cơ sở 3.
Một cơ sở phân số là tương tự để nổ một số lượng chấm đến nhiều hơn một dấu chấm. Cơ sở 3/2 sẽ phát nổ 3 chấm để tạo 2.
Thể hiện 17 trong cơ sở 3/2:
Vậy 17 ở cơ sở 10 là 21012 ở cơ sở 3/2.
Các cơ sở tiêu cực hoạt động tương tự, nhưng chúng ta phải theo dõi các dấu hiệu (sử dụng cái gọi là chống chấm, bằng -1; được biểu thị bằng một vòng tròn mở).
Biểu thị 17 trong cơ sở -3:
Lưu ý, có thêm vụ nổ để làm cho dấu hiệu của tất cả các hộp giống nhau (bỏ qua số không).
Do đó, 17 trong cơ sở 10 là 212 trong cơ sở -3.
Cơ sở hợp lý tiêu cực làm việc tương tự, trong sự kết hợp của hai trường hợp trên.
Quy tắc
- Không có sơ hở tiêu chuẩn.
- Dấu của mỗi "chữ số" trong đầu ra phải giống nhau (hoặc bằng không).
- Giá trị tuyệt đối của tất cả các chữ số phải nhỏ hơn giá trị tuyệt đối của tử số của cơ sở.
- Bạn có thể giả định rằng giá trị tuyệt đối của cơ sở lớn hơn 1.
- Bạn có thể cho rằng một cơ sở hợp lý ở dạng giảm thấp nhất.
- Bạn có thể lấy tử số và mẫu số của cơ sở riêng biệt trong đầu vào.
- Nếu một số có nhiều biểu diễn, bạn có thể xuất bất kỳ một trong số chúng. (ví dụ 12 trong cơ sở 10 có thể
{-2, -8}
và{1, 9, 2}
trong cơ sở -10)
Các trường hợp thử nghiệm:
Định dạng: {in, base} -> result
{7, 4/3} -> {3, 3}
{-42, -2} -> {1, 0, 1, 0, 1, 0}
{-112, -7/3} -> {-6, -5, 0, -1, 0}
{1234, 9/2} -> {2, 3, 6, 4, 1}
{60043, -37/3} -> {-33, -14, -22, -8}
Vì một số đầu vào có thể có nhiều biểu diễn, tôi khuyên bạn nên thử nghiệm đầu ra bằng đoạn Mathicala này trên TIO.
Đây là môn đánh gôn , vì vậy những bài nộp có số byte ngắn nhất trong mỗi ngôn ngữ sẽ giành chiến thắng!
Để biết thêm thông tin về các chấm nổ, hãy truy cập trang web của dự án toán học toàn cầu ! Họ có một loạt các công cụ toán học mát mẻ!