A整除B =A把B整除 =B被A整除 =B / A ==>n可以整除不同的四个因数之和 等价于 (a + b + c + d) % n == 0
#include<iostream>#include<cmath>usingnamespace std;intmain(){int k, n, t;scanf("%d",&k);while(k--){int num =0, a[1000]={0}, ans =0;scanf("%d",&n);
t = n;for(int i =1; i <=sqrt(t); i++){if(t % i ==0){
a[num++]= i;if(i * i != t) a[num++]= t / i;}}for(int i =0; i < num; i++){for(int j = i +1; j < num; j++){for(int k = j +1; k < num; k++){for(int g = k +1; g < num; g++){if((a[i]+ a[j]+ a[k]+ a[g])% n ==0){
ans =1;break;}}}}}if(ans)printf("Yes\n");elseprintf("No\n");}return0;}