Ước số và tổng ước số

Xem PDF

Điểm: 300 (p) Thời gian: 1.0s Bộ nhớ: 1023M Input: bàn phím Output: màn hình

Cho số nguyên dương \(N (N \leq 2∗10^9)\).

Yêu cầu: Đếm số lượng ước số của \(N\) và tổng các ước số của \(N\).

Input

  • Số nguyên dương \(N\)

Output

  • Chứa hai số nguyên là sô lượng ước số và tổng các ước của \(N\)

Example

Test 1

Input
10 
Output
4 18
Note
  • Số \(10\) có ước là \(1\) \(2\) \(5\) \(10\) và tổng \(1 + 2 + 5 + 10 =18\)

Bình luận


  • 0
    TouhouMinor_Python    12:07 p.m. 28 Tháng 7, 2024

    Cái này sai là sao ta? (Code bằng Python)

    1 phản hồi

    • 2
      minhducnopro    3:46 p.m. 16 Tháng 7, 2024

      include <bits/stdc++.h>

      using namespace std;
      long long n,dem = 0,tong = 0;
      int main(){
      cin >> n;
      long long h = sqrt(n);
      for (long long i = 1;i <= h;i++)
      if (n % i == 0){
      dem+=2;
      tong+=i + n/i;
      }
      if (h*h == n){
      dem--;
      tong-=h;
      }
      cout << dem << " " << tong;
      return 0;
      }


      • -4
        BestFlo2k9    12:47 p.m. 26 Tháng 6, 2024

        Ko cần làm như thế

        include <bits/stdc++.h>

        using namespace std;
        ll n,dem = 0,tong = 0;
        int main(){
        cin >> n;
        ll h = sqrt(n);
        for (ll i = 1;i <= h;i++)
        if (n % i == 0){
        dem+=2;
        tong+=i + n/i;
        }
        if (h*h == n){
        dem--;
        tong-=h;
        }
        cout << dem << " " << tong;
        return 0;
        }


        • -2
          kay    9:24 p.m. 16 Tháng 6, 2024

          import math
          N = int(input().strip())
          dem = 0
          k = 0
          for i in range(1, int(math.sqrt(N)) + 1):
          if N % i == 0:
          dem += 1
          k += i
          if i != N // i:
          dem += 1
          k += N // i
          print(dem,k)


          • 0
            TIT_manh    8:38 p.m. 29 Tháng 4, 2024
            Mình xin chia sẻ cách giải bài này như sau:
            • Duyệt i từ 1 đến căn bặc 2 của n sao cho khi gặp ước của n thì:
              • Tăng biến đếm ước.
              • Tăng tổng ước lên i đơn vị.
              • Nếu thấy rằng i khác n/i thì:
                ++ Tăng biến đếm ước.
                ++ Tăng tổng ước lên n/i đơn vị.
            Code mẫu C++

            include <bits/stdc++.h>

            using namespace std;
            int main() {
            long long n, dem, s;
            cin >> n;
            dem = 0;
            s = 0;
            for (int i = 1; i <= sqrt(n); i++) {
            if (n % i == 0) {
            dem++;
            s = s + i;
            if (i != n / i) {
            dem++;
            s = s + (n / i);
            }
            }
            }
            cout << dem << " " << s;
            return 0;
            }


            • 0
              votuantai14112011    8:14 a.m. 31 Tháng 3, 2024

              Tăng time cho py3 dc ko ad


              • -2
                votagiahuy2008    10:41 p.m. 21 Tháng 7, 2023

                include <bits/stdc++.h>

                using namespace std;
                int main()
                {
                long long n,d=0;
                cin>>n;
                long long s=0;
                for(int i=1; i<=sqrt(n);i++)
                if (n%i==0)
                {
                s+=i;d++;
                long long j=n/i;
                if(i!=j)
                {
                s=s+j;
                d++;
                }

                    }
                cout<<d<<" "<<s;
                

                }


                • -23
                  nguyendanghau2006    10:24 p.m. 7 Tháng 11, 2021

                  Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.


                  • -25
                    nguyendanghau2006    10:20 p.m. 7 Tháng 11, 2021 chỉnh sửa 2

                    Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.


                    • -3
                      minhtuanitk20    6:55 p.m. 28 Tháng 10, 2021

                      bài này sài ct hả ad

                      1 phản hồi