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


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

    • 9 bình luận nữa