AC代码
#include<stdio.h>
int check(int temp){
int a[10000],cnt=0;//a记录全部因数,cnt记录因数个数
for(int i=1;i<=temp;i++){
if(temp%i==0){
a[cnt++]=i;//记录全部因数
}
}
if(cnt<4)return 0;//因数个数小于4肯定不是
for(int i1=0;i1<cnt;i1++){
for(int i2=i1+1;i2<cnt;i2++){
for(int i3=i2+1;i3<cnt;i3++){
for(int i4=i3+1;i4<cnt;i4++){
if((a[i1]+a[i2]+a[i3]+a[i4])%temp==0){//注意整除的含义,b%a==0,则a能整除b
return 1;
}
}
}
}
}
return 0;
}
int main(){
int k,temp;
scanf("%d",&k);
for(int i=0;i<k;i++){
scanf("%d",&temp);
if(check(temp)==1)printf("Yes\n");
else printf("No\n");
}
return 0;
}