UOCSO - Đếm số ước

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 0.5s
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

Cho ~N~ số nguyên dương ~a_1,a_2,…,a_N~. Với mỗi giá trị ~a_i, ∀i=1..N~, hãy cho biết ~a_i~ có bao nhiêu ước số?

Input

  • Dòng đầu chứa một số nguyên dương ~N~;
  • Dòng thứ hai chứa ~N~ số nguyên dương ~a_1,a_2,…,a_N~.

Giới hạn:

  • ~60\%~ số điểm ứng với các test có ~N≤1000,1≤a_i≤10^3, ∀i=1..N~;
  • ~40\%~ số điểm ứng với các test có ~N≤1000,1≤a_i≤10^8, ∀i=1..N~.

Output

  • Ghi trên ~N~ dòng, dòng thứ ~i~ ghi số ước số của ~a_i~.

Sample

Input #1
6
2 3 5 7 4 8
Output #1
2
2
2
2
3
4

Problem source: Chuyên Sơn La Online Judge


Bình luận

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



  • 3
    hohoanghai5042011  đã bình luận lúc 8, Tháng 2, 2024, 6:26

    #include <bits/stdc++.h>

    using namespace std; const int pt=1e6+1; long long i,n,d,a[pt],j; int main(){ cin>>n; for(i=1;i<=n;i++) cin>>a[i]; for( i=1 ; i <=n ; i++ ){ d=0; for(j=1 ;j <=sqrt(a[i]) ; j++) if(a[i] % j == 0){ d++; if(j != a[i] / j) d++; } cout << d << endl; } }