VL10 - Đếm số lượng chữ số của số n

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 0.5s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Viết chương trình đếm số lượng chữ số của một số nguyên ~n~ nhập từ bàn phím.

Input

  • Số nguyên ~n~

Giới hạn

  • ~|n| \le 10^{1000} ~

Output

Số lượng chữ số của số ~n~

Sample

Input #1
1234
Output #1
4

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    nguyenha  đã bình luận lúc 28, Tháng 4, 2024, 4:04

    bài này bắt nhập n lớn quá ạ, e muốn hỏi là boost::multiprecision k dùng được hả mọi người, e chạy đc trên codeblock nhưng nộp bài trên web k chạy đc ạ=(


    • 0
      ctq_justiin  đã bình luận lúc 28, Tháng 4, 2024, 11:52

      dùng string nhé


  • 0
    tris23  đã bình luận lúc 12, Tháng 4, 2024, 13:54

    include <iostream>

    include<string.h>

    using namespace std; int main() { string n; cin>>n; int dem=1; if(n[0]=='-') { cout<<n.size()-1; return 0; } cout<<n.size(); return 0; }


  • 0
    bomedi  đã bình luận lúc 2, Tháng 4, 2024, 15:36

    include <iostream>

    include <string>

    using namespace std;

    int main(){ string n; cin>>n; int count = 0; for (char digit : n) { if (isdigit(digit)) { count++; } } cout << count << endl; return 0; }


  • 0
    thangok  đã bình luận lúc 31, Tháng 3, 2024, 9:12

    Sử dụng chuỗi và lưu ý với trường hợp số âm nhé


  • 0
    thanhnh4n  đã bình luận lúc 18, Tháng 3, 2024, 15:45

    char c;short int cnt=0;int main(){scanf("%c",&c);if(c=='-'){scanf("%c",&c);}while(c>='0'){cnt++;scanf("%c",&c);}printf("%hd",cnt);}


  • 0
    kieuly123  đã bình luận lúc 18, Tháng 3, 2024, 13:13

    test 6 là gì v ạ


  • 0
    HND683  đã bình luận lúc 15, Tháng 3, 2024, 19:39 chỉnh sửa

    char number[1000]; fgets(number,1000,stdin); int i,count = 0; for(i = 0; i < strlen(number); i++){ if(number[i] >= '0' && number[i] <= '9' && number[i] != '-'){ count++; } } printf("%d",count); sai case cuối ae xem giúp mình vs


  • 0
    Tom_hoc_IT  đã bình luận lúc 22, Tháng 2, 2024, 16:35

    cho em hỏi code em thiếu trường hợp nào chỉ đúng 2 test đầu ạ:

    include <iostream>

    include <cmath>

    using namespace std;

    int main(){ int n,d=0; cin >> n; while(n!=0){ n=n/10; d++; } cout << d; return 0; }


    • 0
      dainghiajustiin  đã bình luận lúc 8, Tháng 3, 2024, 19:00

      dữ liệu vào có thể lên đến 1000 kí tự nên bạn dùng string nhé và chú ý trường hợp số âm nữa


  • 0
    QMin  đã bình luận lúc 6, Tháng 2, 2024, 9:24 sửa 2

    Mọi người cho em hỏi em làm thế sao sai ở test 5 v ạ?

    int main() { string n; long long dem = 0; cin >> n;

    // Bỏ qua các ký tự '0' và '-' ở đầu chuỗi
    int i = 0;
    while ((i < n.size() && n[i] == '0') || n[i] == '-') {
        i++;
    }
    
    // Đếm các chữ số sau khi đã bỏ qua
    

    for (; i < n.size(); i++) { if (n[i] >= '0' && n[i] <= '9') { dem++; } }

    cout << dem;


    • 0
      hieugiangho2015  đã bình luận lúc 10, Tháng 2, 2024, 13:49 sửa 3

      .


    • 0
      hieugiangho2015  đã bình luận lúc 10, Tháng 2, 2024, 13:41

      include <bits/stdc++.h>

      using namespace std; int main() { iosbase::syncwith_stdio(false); cin.tie(NULL); string n; cin>>n; n[n.size()] = 'p'; int cnt = 0, i=0; while(n[i]!='p'){ if(n[i]>='0' && n[i] <= '9'){ cnt++; } i++; } cout<<cnt; return 0; }


  • 0
    Shit  đã bình luận lúc 4, Tháng 2, 2024, 6:54

    print(len(str(abs(int(input())))))


  • 0
    hohoanghai5042011  đã bình luận lúc 27, Tháng 1, 2024, 13:28

    #include<bits/stdc++.h>

    using namespace std; int main() { int i = 0, count = 0; string str; cin>>str; while (str[i]) { if ((str[i]>='0') && (str[i]<='9')){ count++; } i++; } cout << count; return 0; }


  • 0
    thangok  đã bình luận lúc 27, Tháng 1, 2024, 9:24

    TRÒ CHƠI CỦA ÔNG GIÁO ẸC

    include <bits/stdc++.h>

    using namespace std;

    int main() { string s; cin>>s; if(s[0]=='-') cout<<s.length()-1; else cout<<s.length(); return 0; }


  • 0
    akhoa6204  đã bình luận lúc 20, Tháng 1, 2024, 9:17

    cho mình hỏi test 6 là gì vậy mn, code mình như này bị sai test 6 n = input() s = "" for i in n: if i in "0123456789": s += i print(len(s.lstrip("0")))


  • -4
    23_MinhQuan  đã bình luận lúc 17, Tháng 1, 2024, 14:20

    code nè

    include<bits/stdc++.h>

    using namespace std; int main(){ string n; cin>>n; cout<<n.size(); }


    • 1
      minh2312130  đã bình luận lúc 19, Tháng 1, 2024, 13:10

      hình như cái này sai tới mấy testcase lận thiếu trường hợp số âm nữa


  • 0
    hailuacx  đã bình luận lúc 14, Tháng 1, 2024, 2:41

    Full test cho các bạn tham khảo.

    include <bits/stdc++.h>

    using namespace std;

    int main(){ string n; getline(cin,n); int cnt = n.length(); while(n[0]=='-'){ n.erase(n.begin()); cnt--; } cout << cnt << endl; return 0; }


  • 1
    deno  đã bình luận lúc 8, Tháng 1, 2024, 8:28 sửa 4

    include <stdio.h>

    #include <string.h>
    int main(){
    char n[100001];
    fgets(n,100001,stdin);
    long long a=strlen(n);
    if(n[0]=='0'){
        int count=0;
        int sum=0;
    for(int i=1;i<=a;i++){
        if(n[i]=='0'){
            count ++;
            sum+=count;
        }
    }
    printf("%lld",a-sum-1);
    }
    else if(n[0]=='-'){
        printf("%lld",a-2);
    }
    else{
        printf("%lld",a-1);
    }
    }
    

  • -4
    VoPhatDat  đã bình luận lúc 20, Tháng 12, 2023, 8:15 sửa 2

    Cũng dễ :]

    n = input() s ="" d = 0;

    if n[0] == '-': n=n[1:] if len(n) == 1: print(1) else: for i in n: if i != '0': s = n[d:] break d = d + 1; print(len(s))


  • -1
    kitajima2910  đã bình luận lúc 12, Tháng 12, 2023, 4:32

    Java chào các đạo hữu =]]z

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.StringTokenizer;
    
    /**
     *
     * @author Kitajima2910
     */
    public class VL10 {
    
        public static void main(String[] args) throws IOException {
    
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            StringTokenizer st = new StringTokenizer(br.readLine());
    
            String n = st.nextToken();
    
            System.out.printf(n.replace("-", "").length() + "");
    
        }
    
    }
    

    • 0
      Tuangoc  đã bình luận lúc 9, Tháng 1, 2024, 7:37

      tôi cũng học java mà ông giải kiểu j mà nó đúng hết tất cả các test case hay v chỉ tôi với


  • 0
    tuantrinhnong  đã bình luận lúc 28, Tháng 10, 2023, 5:24

    mọi người ơi cho em hỏi bài này code c thì làm như nào ạ


    • -2
      nguien_24  đã bình luận lúc 6, Tháng 11, 2023, 14:23

      giới hạn 1000 chữ số bạn khai báo 1 chuỗi 1001 ký tự. Nếu kí tự thứ 0 là " - " thì in ra độ dài chuỗi -1


    • -7
      hungdzvcl  đã bình luận lúc 1, Tháng 11, 2023, 7:15

      Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • 0
    taithikgirl  đã bình luận lúc 28, Tháng 10, 2023, 2:34

    hao no


  • -3
    minh253  đã bình luận lúc 23, Tháng 9, 2023, 10:16

    java

    import java.util.*;

    public class CountDigits {

    public static void main(String[] args){
        Scanner inp = new Scanner(System.in);
        String n = inp.nextLine();
    
        System.out.printf("%d", ( n.charAt(0)=='-') ? n.length()-1 : n.length());
    }
    

    }


  • -4
    EmCin  đã bình luận lúc 14, Tháng 9, 2023, 14:16

    n = input() n = n.lstrip("0") n = n.replace(' ', '') count = len(n) print (count)

    cứu các cậu ơi chả hiểu sao sửa như nào cũng sai =(( mà chả biết sai ở đâu nên k sửa dc


  • 0
    rabbitcode  đã bình luận lúc 8, Tháng 9, 2023, 22:08

    Bạn nào mà dùng python mà làm thì mình thấy ép kiểu từ int sang str rồi mình dùng len() để đếm chữ số cũng ổn đấy


  • -1
    Jaker  đã bình luận lúc 3, Tháng 9, 2023, 14:51

    n = abs(int(input())) S = 0 if n == 0: S = 1 else: while n != 0: S += 1 n //= 10 print(S)


    • 0
      Phamnhatvuong555  đã bình luận lúc 2, Tháng 12, 2023, 16:30

      ko cần ép int sang str cũng ko cần abs bài có hai trường hợp đó là n>=10 và n<=-10 dùng while rồi đếm như bình thường thôi nha bạn


  • 0
    Miruko  đã bình luận lúc 28, Tháng 8, 2023, 15:55

    cho mình hỏi test 5 là gì vậy?


    • 0
      thuhcm  đã bình luận lúc 5, Tháng 10, 2023, 3:39

      hình như nhập 0 hoặc -0 á bạn


  • -1
    tognoek  đã bình luận lúc 27, Tháng 8, 2023, 2:24

    bài này nếu có test 000001 thì các bạn thêm hàm xóa số 0 đi while(int(s[0]) == 48)


  • 0
    210_NguyenDucHai  đã bình luận lúc 22, Tháng 8, 2023, 15:13

    bài này mình dùng string thì acp all luôn, nhưng mình nghĩ ra được thêm test case như 001234 thì sẽ sai:/


  • -3
    nmtSPer  đã bình luận lúc 19, Tháng 8, 2023, 8:26

    test 5,6 là gì vậy mọi người


  • 1
    lyhocc  đã bình luận lúc 17, Tháng 8, 2023, 16:15

    giới hạn test sợ vãi


  • 1
    Liem  đã bình luận lúc 13, Tháng 8, 2023, 9:41

    var n:string; begin readln(n); if n[1]='-' then delete(n,1,1); write(length(n));

    end.

    tes cuoi sao vay moi nguoi


  • 1
    longkonick  đã bình luận lúc 12, Tháng 8, 2023, 2:08

    Bài này mình không dùng length thì có khả thi ko mọi người ?


  • 1
    thattinh777  đã bình luận lúc 2, Tháng 8, 2023, 2:24

    Test cuối là gì vậy mọi người?


    • 1
      Hieu Nguyen  đã bình luận lúc 2, Tháng 8, 2023, 5:25

      Em check lại giới hạn của đề bài nhé.


  • 1
    minhquan  đã bình luận lúc 29, Tháng 7, 2023, 16:14

    n = int(input())

    count = 0 while n != 0: n //= 10 count += 1 print(count) bị lỗi tle thì giờ sửa thuật toán kiểu gì mọi người


  • 0
    BlackCat35973  đã bình luận lúc 23, Tháng 7, 2023, 14:54

    thiết nghĩ nên để bài này là dễ chăng?


    • 0
      Liem  đã bình luận lúc 13, Tháng 8, 2023, 9:43

      xin code banj oi


  • -5
    Nguyenhuy0903  đã bình luận lúc 22, Tháng 7, 2023, 15:16

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • 0
    ABC  đã bình luận lúc 21, Tháng 7, 2023, 3:15

    bai nay sai string roi xuat cai chieu dai cua string la ra ra,neu co dua tru thi xoa dau tru ra khoi string


    • 0
      PhungTienDat  đã bình luận lúc 4, Tháng 1, 2024, 5:09

      xóa dấu - ra khỏi chuỗi kiểu j thế ạ?


  • -5
    nctmdt  đã bình luận lúc 14, Tháng 7, 2023, 10:58

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • 0
    nctmdt  đã bình luận lúc 14, Tháng 7, 2023, 10:39

    cho em hỏi kiểu dữ liệu của n là gì ạ ?


    • 1
      Lerp  đã bình luận lúc 14, Tháng 7, 2023, 17:53

      string nha bạn


      • -1
        Coding_boy  đã bình luận lúc 19, Tháng 7, 2023, 19:48

        ông làm đung hết test không á?


        • 0
          nhuttruong2k9  đã bình luận lúc 21, Tháng 7, 2023, 11:29

          trong test này có số âm bạn xóa dấu âm ra rồi in length ra