PTIT004 - Số đơn giản

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, Python, Ruby, Rust, Scratch, Swift

Mít thích những các con số và đặc biệt là những số đơn giản. Số đơn giản là số có một chữ số. Cho một số ~N~ bất kì, nhiệm vụ của bạn bây giờ là nén số đó đến khi nào nó trở thành số đơn giản để tặng cho Mít.

Phương pháp nén số như sau: Nếu số đó không là số đơn giản ta có thể nén số đó thành số có giá trị bằng tổng các chữ số của số đó (Ví dụ: 23 nén thành 5, 99 nén thành 18 )

Input

Một dòng duy nhất chứa số ~N~ cần nén ~(0 \leq N \leq 10^9 )~

Output

In ra số đơn giản thu được sau khi nén.

Sample

Input #1
23
Output #1
5
Input #2
99
Output #2
9

Problem source: CLB Lập Trình PTIT


Bình luận

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



  • 0
    thangok  đã bình luận lúc 26, Tháng 4, 2024, 4:03

    include<bits/stdc++.h>

    using namespace std;

    int main(){ iosbase::syncwith_stdio(false); cin.tie(0);cout.tie(0);

    long long n;
    cin>>n;
    string s=to_string(n);
    if(s.length() < 2) cout<< s;
    else {
        while(s.length()>1){
        int t=0;
        for(int i=0;i < s.length();i++){
            t+=s[i]-48;
        }
        s=to_string(t);
        }
        cout<< s;
    }
    
    return 0;
    

    }


  • 2
    hohoanghai5042011  đã bình luận lúc 19, Tháng 3, 2024, 9:03

    #include <iostream>

    int main() { int N; std::cin >> N; auto sumOfDigits = { int sum = 0; while (num > 0) { sum += num % 10; num /= 10; } return sum; };

    while (N >= 10) {
        N = sumOfDigits(N);
    }
    std::cout << N << std::endl;
    return 0;
    

    }


  • -3
    dinhvantung0611  đã bình luận lúc 7, Tháng 1, 2024, 14:27

    HI