Em trai 15 tuổi của tôi đang bắt đầu lập trình và anh ấy đã viết một chương trình nhỏ gọn giúp kết xuất tất cả các chữ cái và chữ số có sáu chữ số trở xuống. Mã của ông là một sextuple-lồng nhau cho vòng lặp mà cập nhật các yếu tố của một mảng sáu cấp độ. Nó trông xấu, nhưng chắc chắn là nhanh! Tôi chỉ cho anh ta cách làm một số đơn giản, và chuyển đổi những con số đó thành cơ sở 36.Làm cách nào để tính số cơ sở khác nhau trong C++?
Vấn đề lớn nhất là mã của tôi chậm hơn rất nhiều so với tôi, do sự phân chia mà tôi đang làm. Có cách nào mà tôi có thể chỉ đơn giản là giả định cơ sở 36 và sản lượng đếm từ 1 đến 36^6?
Lý tưởng nhất, tôi đang tìm cách để làm điều gì đó như
[base 36]
for(int i = 0; i < 1000000; i++)
SaveForLaterFileOutput(i);
Bạn đang nhầm lẫn giá trị với bản trình bày. Tinh khiết đếm không phải là một khái niệm có thể được đưa ra một cơ số. Một phiên bản tái cấu trúc giải pháp anh trai của bạn có thể là tốt hơn của cả hai! –
Không có tích hợp base36 xây dựng trong ngôn ngữ. Tuy nhiên, bạn không cần phân chia để làm những gì bạn muốn. – driis