CSES - Counting Divisor | Đếm ước

Xem PDF



Thời gian:
Pypy 3 1.5s
Python 3 3.5s

Tác giả:
Dạng bài
Điểm: 1500 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho \(n\) số nguyên. Với mỗi số, hãy cho biết số lượng ước của nó.

Ví dụ, nếu \(x = 18\), câu trả lời đúng là \(6\) vì các ước của nó là \(1,2,3,6,9,18.\)

Input

  • Dòng đầu tiên chứa một số nguyên \(n\)
  • Sau đó là \(n\) dòng, mỗi dòng chứa một số nguyên \(x\)

Output

  • Đối với mỗi số nguyên, in ra số lượng ước của nó.

Constraints

  • \(1 \leq n \leq 10^5\)
  • \(1 \leq x \leq 10^6\)

Example

Sample input

3
16
17
18

Sample output

5
2
6


Bình luận


  • 0
    BestFlo2k9    2:50 p.m. 27 Tháng 6, 2024

    include <bits/stdc++.h>

    define ll long long

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

    • 11 bình luận nữa