Số một số (Tin học trẻ A - Vòng Sơ khảo 2021)

Xem PDF

Điểm: 100 (p) Thời gian: 2.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Số một số là một số tự nhiên mà các chữ số của số đó giống nhau.

Ví dụ: \(1,8,111,555,99999,...\)

Cho một số tự nhiên \(N\). Hãy đếm số lượng số một số bé hơn hoặc bằng \(N\).

Input

  • Một dòng chứa một số tự nhiên \(N\) (\(N \le 10^9\)).

Output

  • Một số duy nhất là số lượng số thỏa mãn đề bài.

Example

Test 1
Input
15
Output
10
Note

Khi \(N=15\) thì có \(10\) số là \(1,2,3,4,5,6,7,8,9,11\).

Test 2
Input
111
Output
19
Note

Khi \(N = 111\) thì có \(19\) số là:

  • \(9\) số từ \(1\) đến \(9\).
  • \(9\) số \(11,22,33,...,99\).
  • \(1\) số \(111\).

Bình luận

  • lecongtuantu 9:16 p.m. 22 Tháng 2, 2025

    include<bits/stdc++.h>

    define ll long long

    using namespace std;
    ll n;
    void sub(){
    ll a[]={1,2,3,4,5,6,7,8,9,11,111,1111,11111,111111,1111111,11111111,111111111,22,222,2222,22222,222222,2222222,22222222,222222222,33,333,3333,33333,333333,3333333,33333333,333333333,44,444,4444,44444,444444,4444444,44444444,444444444,55,555,5555,55555,555555,5555555,55555555,555555555,66,666,6666,66666,666666,6666666,66666666,666666666,77,777,7777,77777,777777,7777777,77777777,777777777,88,888,8888,88888,888888,8888888,88888888,888888888,99,999,9999,99999,999999,9999999,99999999,999999999};
    ll d=0,x=sizeof(a)/sizeof(a[0]);
    for(ll i=0;i<x;i++){
    if(a[i]<=n)d++;
    }
    cout<<d; } signed main(){ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); cin>>n;
    sub();
    return 0;
    }

    • 6 bình luận nữa