CVB2D - Đổi hệ nhị phân sang thập phân
Xem dạng PDF
Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift
Cho một số nguyên dương trong hệ cơ số ~2~ (hệ nhị phân), hãy viết số đó trong hệ cơ số ~10~.
Input
- Dòng đầu ghi số nguyên dương ~T~ là số bộ test;
- ~T~ dòng tiếp theo, mỗi dòng chứa một xâu nhị phân (số được biểu diễn trong hệ nhị phân).
Giới hạn:
- ~1 ≤ T ≤ 10^5~. Độ dài mỗi xâu nhị phân không quá ~63~.
Output
- Với mỗi xâu nhị phân, in ra trên một dòng số đó trong hệ thập phân.
Sample
Input #1
3
101
111
1010
Output #1
5
7
10
Problem source: Chuyên Sơn La Online Judge
Bình luận
hint
ta chuyển từ hệ nhị phân qua sô
rồi chuyển số qua hệ cơ số 10
code tham khảo: những hàm này có thể giúp các bạn áp dụng vào nhiều bài tập khác!
include <bits/stdc++.h>
using namespace std;
// lưu số lớn dạng string (decimal) string mul2(const string &s) { string res = s; int carry = 0; for (int i = res.size() - 1; i >= 0; i--) { int x = (res[i] - '0') * 2 + carry; res[i] = char('0' + (x % 10)); carry = x / 10; } if (carry) res.insert(res.begin(), char('0' + carry)); return res; }
string add1(const string &s) { string res = s; int carry = 1; for (int i = res.size() - 1; i >= 0; i--) { int x = (res[i] - '0') + carry; res[i] = char('0' + (x % 10)); carry = x / 10; if (carry == 0) break; } if (carry) res.insert(res.begin(), '1'); return res; }
int main() { ios::syncwithstdio(false); cin.tie(nullptr);
}
bai nay dung python tle :))
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.