いろいろがんばりたいブログ

情報科学科の人がいろいろ書きます。

C++でもstringとintのかけ算がしたい

できた。O(log n)かなぁ……。

string operator*(const string& s,int k){
    if(k == 0) return "";
    string p = (s+s)*(k/2);
    if(k%2 == 1) p+=s;
    return p;
}


string solve(int n0,int n5){
    string s;
    if(n0 == 0){
        return "-1";
    }else if(n5 < 9){
        return "0";
    }else{
        return string(9,'5')*(n5/9)+string(n0,'0');
    }
}

でも"44"*3とかできないから微妙に不便だ。