Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Cộng n chuỗi nhị phân trong C

Cho n chuỗi nhị phân, cộng tất cả thành một chuỗi nhị phân.

Ví dụ

Input: "1011", "10", "1001"
Output: 10110

Giải pháp

Hàm phụ cộng 2 chuỗi nhị phân, áp dụng n-1 lần.

Chương trình C++ ví dụ

#include <iostream>
using namespace std;

string add(string b1, string b2) {
    string res=""; int s=0;
    int i=b1.size()-1, j=b2.size()-1;
    while(i>=0||j>=0||s) {
        if(i>=0) s+=b1[i]-'0'; else s+=0;
        if(j>=0) s+=b2[j]-'0'; else s+=0;
        res = char(s%2+'0') + res;
        s/=2; i--; j--;
    }
    return res;
}

string addbinary(string a[], int n) {
    string res="";
    for(int i=0;i