Ướ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

  • p12a3PhamNguyenKhanhChi 6:47 p.m. 29 Tháng 11, 2024

    ít thời gian tóa đi
    nếu bỏ bớt còn 5 test là tui ac rùi
    :((((((((

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

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

      • 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;
        }

        • 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;
          }

          • 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)

            • 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;
              }

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

                Tăng time cho py3 dc ko ad

                • 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;
                  

                  }

                  • 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ở.

                    • 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ở.

                      • 1 bình luận nữa