SUMDIG - Tổng các chữ số

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
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, PyPy, Python, Ruby, Rust, Scratch, Swift

Tính tổng các chữ số của số nguyên dương trong hệ thập phân.

Input

  • Dòng đầu ghi số nguyên dương ~T~ là số bộ test;
  • ~T~ dòng tiếp theo, mỗi dòng chứa một số nguyên dương ~n~ ghi ở hệ thập phân.

Giới hạn:

  • ~1≤T≤10^5,1≤n≤10^{18}~

Output

  • Với mỗi bộ test, ghi ra trên một dòng một số là tổng các chữ số của số ~n~ tương ứng.

Sample

Input #1
2
13
256
Output #1
4
13

Problem source: Chuyên Sơn La Online Judge


Bình luận

Please read the guidelines before commenting.



  • 0
    mducc  đã bình luận lúc 23, Tháng 4, 2026, 14:38

    spoil!

    ý tưởng 
    tính tổng chữ số từng test mỗi test mất tối đa 18 phép tính nên không lo bị giới hạn thời gian
    

    code tham khảo (c++)

        #include <bits/stdc++.h>
    
        using namespace std;
    
        int main() {
            ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
    
            int t;
            cin >> t;
            while (t--) {
                long long n;
                cin >> n;
                int ans = 0;
                while(n > 0) {
                    ans += n%10;
                    n /= 10;
                }
                cout << ans << '\n';
            }
        }
    

  • -1
    thanhvinh21052015  đã bình luận lúc 22, Tháng 3, 2026, 13:26

    cho anh em nào cần , full AC luôn , python 3 nhé: m = int(input()) for i in range(m): n = int(input()) d = 0 while n != 0: d += n % 10 n //= 10 print(d)


  • 1
    lehuusang5a1  đã bình luận lúc 22, Tháng 3, 2026, 8:47

    include <bits/stdc++.h>

    using namespace std; long long n,i,a[1000005]; long long tcs(long long x) { int t=0; while(x!=0) { t=t+x%10; x=x/10; } return t; } int main() { cin>>n; for(i=1;i<=n;i++) { cin>>a[i]; a[i]=tcs(a[i]); } for(i=1;i<=n;i++) cout<<a[i]<<endl; return 0; } full ac cho cac ae luoi lam


  • -1
    namanhthongminh  đã bình luận lúc 16, Tháng 3, 2026, 6:07

    ai hoi


  • 0
    nhankiettvt  đã bình luận lúc 15, Tháng 1, 2026, 8:19

    FULL AC CHO AE NỮA ĐÂY =))

    #include <bits/stdc++.h>
    using namespace std;
    using ll = long long;
    using ull = unsigned long long;
    
    void run_case() {
        ll n; cin >> n;
        int tong=0;
        while (n){
            tong+=n%10;
            n/=10;
        }
        cout << tong << "\n";
    }
    
    int main() {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
    
        int t;
        cin >> t;
        while (t--) run_case();
        return 0;
    }
    

  • 0
    crazychessgambit  đã bình luận lúc 5, Tháng 1, 2026, 6:42
    // https://luyencode.net/problem/sumdig
    
    #include <iostream>
    #include <string>
    using namespace std; 
    
    void char2number (char c, int &n){
        switch (c)
        {
        case '0':
            n = 0;
            break;
        case '1':
            n = 1;
            break;
    
        case '2' :
            n = 2;
            break;
    
        case '3':
            n = 3;
            break;
    
        case '4':
            n = 4;
            break;
    
        case '5':
            n = 5;
            break;
    
        case '6':
            n = 6;
            break;
    
        case '7':
            n = 7;
            break;
    
        case '8':
            n = 8;
            break;
    
        case '9':
            n = 9;
            break;
        } 
    
    }
    
    int main (){
        int n;
        cin >> n;
        string string[n];
        for (size_t i = 0; i < n; i++)
        {
            cin >> string[i];
        }
    
        // duyet tung char trong string
        int numberInString;
        for (size_t i = 0; i < n; i++)
        {
            int s = 0;
            for (size_t j = 0; j < string[i].size(); j++)
            {
                if(string [i][j] <= '9' && string[i][j] >= '0'){
                    char2number(string[i][j], numberInString);
                    s += numberInString;
                }
            }
            cout << s <<endl;
    
        }
        return 0;
    
    }
    

  • 1
    Liemaik2k11_3110  đã bình luận lúc 28, Tháng 12, 2025, 1:27

    include<bits/stdc++.h>

    using namespace std; int main (){ long long t; cin >> t; while(t --){ long long n; cin >> n; long long a , s = 0; while(n > 0){ a = n % 10; s += a; n/=10; } cout << s <<"\n"; } }


  • -3
    UngDat  đã bình luận lúc 30, Tháng 10, 2025, 11:17

    include <bits/stdc++.h>

    using ll = long long; using namespace std; int test(ll n) { ll sum = 0; while ( n != 0) { int a = n % 10; sum += a; n /= 10; } return sum; } int main() { ll n; cin >> n; for(ll i = 1; i <= n;i++) { ll x; cin >> x; cout << test(x) << endl; } }


  • -1
    lam_2009vn  đã bình luận lúc 5, Tháng 10, 2025, 3:16

    cảm ơn bro nha:)))


  • -3
    tranhoangviet2000553  đã bình luận lúc 29, Tháng 8, 2023, 12:29

    Test cuoi la gi the a


    • -2
      codega  đã bình luận lúc 23, Tháng 10, 2023, 17:32

      bạn check lại đk đề bài xem nhé, lên đến 10^18 thì phải khai báo kiểu long long


  • -2
    tahm1302  đã bình luận lúc 27, Tháng 7, 2023, 2:58

    tại sao làm việc trực tiếp với kí tự của xâu thì TLE mà chuyển các kí tự của xâu vào list thì AC nhỉ?


  • -2
    lch101  đã bình luận lúc 22, Tháng 7, 2023, 20:13

    Bài này cho giới hạn 10^18 hơi doạ nhỉ :v


    • -2
      codega  đã bình luận lúc 23, Tháng 10, 2023, 17:33

      vừa khít kiểu long long mà =)))