Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

CPPPRI11 - PRIME 11

Cho số tự nhiên N. Nhiệm vụ của bạn là hãy kiểm tra N có phải là số hoàn hảo hay không. Một số N được gọi là số hoàn hảo nếu tổng các ước số của nó bằng chính nó. Ví dụ N = 6=1 + 2 + 3 là số hoàn hảo.

Input

Dòng đầu tiên đưa vào số lượng test T.

Những dòng kế tiếp đưa vào các bộ test.Mỗi bộ test là một số nguyên N. 

T, N thỏa mãn rang buộc 1≤T≤100; 1≤N≤1018 .

Output

Đưa ra kết quả mỗi test theo từng dòng.

Example

Input Output
2
6
21
1
0

Được gửi lên bởi:adm
Ngày:2019-10-19
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:C C++ 4.3.2 CPP CPP14

hide comments
2020-08-15 09:19:57
Lời giải tại: https://ideone.com/cah1Ly

Last edit: 2020-09-07 18:54:57
2020-01-08 06:35:55
lời giải tại : https://t4itptit.blogspot.com/2020/01/cho-so-tu-nhien-n.html

Last edit: 2020-01-09 16:13:22
2019-12-10 12:59:25
hint : https://vi.wikipedia.org/wiki/Số_hoàn_thiện
2019-11-29 18:50:07
Ai cho mk xin code với bài này khó quá :((
2019-11-29 18:48:39
mn xem ho mk code sai ở đâu vs
#include <bits/stdc++.h>
using namespace std;
bool snt(long long n)
{
if(n<2) return false;
else {
for(int i=2;i<=sqrt(n);i++)
if(n%i==0) return false;
return true;
}
}
int main()
{
int t;
cin>>t;
while(t--)
{
long long n,cmp,tich=1,i;
long long tongs=1;
cin>>n;
if(n==1) cout<<"1"<<endl;
else if(snt(n))
{
cout<<"0"<<endl;
}
else {
cmp=n;
for( i=2;i<=sqrt(cmp);i++)
{
if(n%i==0 && snt(i))
{
while(n%i==0)
{
tongs=tongs+i;
n=n/i;
tich=tich*i;
}
if(n==1) break;
}
}
if(n!=1)
{
long long temp=cmp/tich;
tongs=tongs+temp;
}
if(tongs==cmp) cout<<"1"<<endl;
else cout<<"0"<<endl;
}
}
}

Last edit: 2019-11-29 18:49:16
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.