Codeforces Round #719 (Div. 3) B. Ordinary Numbers

Posted 嗯我想想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #719 (Div. 3) B. Ordinary Numbers相关的知识,希望对你有一定的参考价值。

B. Ordinary Numbers
在这里插入图片描述
题目大意:
给你一个数,让你判断这个数的前面有多少个类似与 1,11,111这样的数

思路分析:
读入的时候,可以以字符串的方式读入,方便判断位数,也方便后续的一些操作~

AC代码:

#include <bits/stdc++.h>
 
using namespace std;
 
int n;
 
int main() {
    cin >> n;
    while (n--) {
        string s;
        cin >> s;
        int sum = 0;
        sum += 9 * (s.length() - 1);
        bool flag = true;
        for(int i = 0; i < s.size();i++) {
            if(s[i] - '0' == s[0] - '0')
                continue;
            else if(s[i] - '0' < s[0] - '0') {
                flag = false;
                break;
            } else if(s[i] - '0' > s[0] - '0') {
                flag = true;
                break;
            }
        }
        if(flag)
            sum += s[0] - '0';
        else
            sum += s[0] - '0' - 1;
        cout << sum << endl;
    }
}

以上是关于Codeforces Round #719 (Div. 3) B. Ordinary Numbers的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces Round #719 (Div. 3)Codeforces-1520ABCDE

Codeforces Round #719 (Div. 3) ABCDEF题解

Codeforces Round #719 (Div. 3) A-E

Codeforces Round #719 (Div. 3) A-G题解 G题详细注释

Codeforces Round #719 (Div. 3) A-G题解 G题详细注释

Codeforces Round #719 (Div. 3) A-G题解 G题详细注释