美团点评后台第二题代码,全AC

#include<algorithm>
#include<iostream>
#include<cmath>
using namespace std;
    long long f(int k) {
        if (k < 10)
            return k;
        if (k % 10 == 0)
            return f(k - 1) + log10(k) + 1;
        int cnt = 1;
        while (k > static_cast<int>(pow(10, cnt)))
            ++cnt;
        --cnt;
        return f(pow(10, cnt)) + (cnt + 1)*(k - pow(10, cnt));
    }


int main() {
    int n;
    cin >> n;
    while (n-- > 0) {
        int num;
        cin >> num;
        cout << f(num) << endl;
    }
    return 0;
}
#笔试题目#
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务