文章

40

粉丝

512

获赞

13

访问

372.9k

头像
进位的1要保留
Ang VIP
P1647 北京邮电大学2019年机试题
发布于2020年3月10日 18:17
阅读数 12.5k

#include
using namespace std;

int main(){
    int t;
    cin>>t;
    while(t--){
        string str;
        cin>>str;
        long long dec=0;
        int pos=0;
        for(int i=str.size()-1;i>=0;i--){
            dec += (str[i]-'0') * pow(2,pos++);
        }
        long long ans1=dec+1;
        vector v1;
        while(ans1!=0){
            char c = '0' + ans1 % 2;
            v1.push_back(c);
            ans1 /= 2;
        }
        if(v1.size()<=32){
            char arr[32];
            fill(arr,arr+32,'0');
            for(int i=0;i v2;
        while(ans2!=0){
            char c = '0' + ans2 % 2;
            v2.push_back(c);
            ans2 /= 2;
        }
        if(v1.size()<=32){
            char arr[32];
            fill(arr,arr+32,'0');
            for(int i=0;i

代码相当不优雅,下半部分主要是复制粘贴。主要是进位的1要保留

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发