

Bài 1. Số hexa (năm 11-12)Trong toán học, lâu nay Bờm chỉ biết đến số thập phân. Hôm nay, tình cờ Bờm đọc được tài liệu nói về số hexa. Số hexa là số được tạo thành bởi các chữsố (0 →9) và các chữcái (A →F). Muốn chuyển đổi một số nguyên K (K ≥ 0) từ hệ thập phân sang hệ hexa Bờm làm nhưsau: Bờm lấy số K chia cho 16 được thương là P, rồi lấy thương P chia cho 16. Cứ lặp lại như vậy cho đến khi nào thương bằng 0 thì dừng, sau đó viết liên tiếp phần dư từ dưới lên thì Bờm thu được số hexa:Yêu cầu: Cho dãy số nguyên ở hệ thập phân. Hãy giúp Bờm chuyển dãy số trên thành dãy số tương ứng ở hệ hexa.Dữ liệu vào: Từ file BAI1.INP gồm:
- Dòng 1: Sốnguyên dương n (n ≤103).
- Dòng 2…n+1: Mỗi dòng chứa một sốnguyên K (0 ≤ K ≤ 109).Kết quả: Ghi ra file BAI1.OUT gồm: n dòng là n số hexa tương ứng.(c++)
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
Đáp án + Giải thích các bước giải:
#include <bits/stdc++.h>
using namespace std;
// Ham chuyen so thap phan sang so bat phan (hexa)
string d_sang_h (long long K) {
if (K == 0) return "0";
string h = "";
string kitu_h = "0123456789ABCDEF";
while (K > 0) {
int du = K % 16;
h = kitu_h[du] + h;
K /= 16;
}
return h;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
ifstream fin("BAI1.INP");
ofstream fout("BAI1.OUT");
long long n;
fin >> n;
for (long long i = 0; i < n; ++i) {
long long K;
fin >> K;
fout << d_sang_h (K) << "\n";
}
fin.close();
fout.close();
return 0;
}
$#Creeper$
Hãy giúp mọi người biết câu trả lời này thế nào?
#include <bits/stdc++.h>
using namespace std;
#define INPUT "BAI1.INP"
#define OUTPUT "BAI1.OUT"
#define str string
#define in cin >>
#define out cout <<
#define nl '\n'
string hexs(int K) {
if (K == 0) return "0";
str hex = "";
while (K > 0) {
int r = K % 16;
hex += (r < 10) ? char(r + '0') : char(r - 10 + 'A');
K /= 16;
}
reverse(hex.begin(), hex.end());
return hex;
}
int main() {
int n, k;
in n;
while (n--) {
in k;
out hexs(k) << nl;
}
return 0;
}
`$\color{darkviolet}{T}\color{violet}{h}$ $\color{plum}{ủ}\color{mediumpurple}{y}$
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin
411
11696
114
lô
411
11696
114
loo