Số gần hoàn hảo

View as PDF

Submit solution

Points: 120.00 (partial)
Time limit: 2.0s
Memory limit: 1G
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text

Một số nguyên dương ~N~ được gọi là số "gần hoàn hảo" nếu thỏa mãn điều kiện: ~2* N~ ≤ ~A~, với ~A~ là tổng các ước số của ~N~.

Chẳng hạn: 12 là một số "gần hoàn hảo" vì: 2*12 < 1+2+3+4+6+12.

Yêu cầu: Với ~K~ số nguyên dương, hãy kiểm tra xem các số nguyên dương đó có phải là số "gần hoàn hảo" hay không?

Dữ liệu vào:

  • Dòng đầu tiên chứa số nguyên dương ~K~ (~K~ ≤ 100).
  • ~K~ số nguyên dương ~A_1~, ~A_2~,…, ~A_K~ (~A_i~ ≤ ~10^9~ với 1 ≤ ~i~ ≤ ~K~).

Dữ liệu ra: Gồm ~K~ dòng, dòng thứ ~i~ ghi số 1 nếu ~A_i~ là số "gần hoàn hảo", ngược lại ghi số 0.

Ví dụ:
INPUT
3
6 16 12
OUTPUT
1
0
1

Giới hạn: Subtask 1: Có 60% điểm tương ứng với trường hợp ~A_i~ ≤ ~10^6~ với 1 ≤ ~i~ ≤ ~K~.


Comments

Please read the guidelines before commenting.



  • 0
    vn2010  commented on Oct. 6, 2024, 12:39 a.m.

    include<bits/stdc++.h>

    define ll long long

    define N 100000008

    using namespace std; ll a[N]; ll tu(ll n) { ll t=0,i; for(i=1;i<=sqrt(n);i++) if(n%i==0) { t=t+i; if(n/i!=i) { t=t+n/i; } } return t; } int main() { ll n,i; cin>>n; for(i=1;i<=n;i++) { cin>>a[i]; } for(i=1;i<=n;i++) { if(tu(a[i])>=2*a[i]) cout<<1; else cout<<0; cout<<endl; } }


  • 0
    anhtuan2007  commented on Sept. 14, 2022, 1:51 p.m.

    iloveamelia


    • 0
      lonelywolf  commented on April 29, 2023, 12:41 a.m.

      simppppppppppppppppppp