求助谷友,一直70分(普及题,悬赏关注)
查看原帖
求助谷友,一直70分(普及题,悬赏关注)
590609
jiangjiangQwQ楼主2023/1/31 10:57

题面下载 求助谷友,调了调一直70分,甚至20分


70分代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
    long long n,f=1,power=0;
    cin>>n;
    cout<<n<<"=";
    while(pow(2,power)<n) power++;
    if(pow(2,power)==n){
        cout<<n;
        return 0;
    }
    power--;
    while(n&&power>=0){
        int pow_2=pow(2,power);
        if(n-pow_2>0){
            n-=pow_2;
            if(f==1) cout<<pow_2,f=0;
            else cout<<"+"<<pow_2;
        }
        power--;
        //if(power==0) break;
    }
    while(n){
        if(f==1) cout<<1,f=0;
        else cout<<"+1";
        n-=1;
    }
    return 0;
}
2023/1/31 10:57
加载中...