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: 2NA, 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 A1, A2,…, AK (Ai109 với 1 ≤ iK).

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

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

Giới hạn: Subtask 1: Có 60% điểm tương ứng với trường hợp Ai106 với 1 ≤ iK.


Comments

Please read the guidelines before commenting.



  • 0
    vn2010  commented 12:39:29 am, 06/10/2024

    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 1:51:07 pm, 14/09/2022

    iloveamelia


    • 0
      lonelywolf  commented 12:41:41 am, 29/04/2023

      simppppppppppppppppppp