Ước có ước là 2

Xem PDF

Điểm: 100 Thời gian: 1.0s Bộ nhớ: 640M Input: bàn phím Output: màn hình

Cho số nguyên dương \(n\). Đếm số ước của \(n\) có ước số là \(2\).

Input

  • \(t (t\le 100)\) - số test
  • Mỗi test chứa \(1\) số nguyên dương \(n(n \le 10^9)\)

Output

  • Số ước số thỏa mãn đề bài

Example

Test 1

Input
2
9
8 
Output
0
3
Note
  • \(9\) có các ước như sau \(\{1, 3, 9\}\) và không hề có bất kỳ ước nào có ước số là \(2\) nên đáp án là \(0\).
  • \(8\) có các ước như sau \(\{1, 2, 4, 8\}\) và ba ước \(2,4,8\) đều có ước số \(2\) nên đáp án là \(3\).

Bình luận

  • love_vhngoc 8:24 p.m. 13 Tháng 2, 2025
    #include <bits/stdc++.h>
    #define ll long long int
    using namespace std;
    int main(){
        //freopen("huhu","r",stdin);
        //freopen("haha","w",stdout);
        ll t;
        cin>>t;
        while(t--){
            ll n,d=0;
            cin>>n;
            set<ll> s;
            for(ll i=1;i<=sqrt(n);i++)
                if(n%i==0){
                s.insert(i);
                s.insert(n/i);
            }
            for(auto x:s)
                if(x%2==0)d++;
            cout<<d<<"\n";
    
        }
        return 0;
    }
    code tham khảo thôi nha ko nên chép code 
    
    • 11 bình luận nữa