不要老老实实的按照题目中的写,a = a / b, a = a / c;避免了b * c可能越界的问题。
#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
scanf ("%d", &n);
for (int i = 0; i < n; i++) {
string s;
cin >> s;
int num = stoi(s);
int nsub1 = stoi(s.substr(0, s.size() / 2));
int nsub2 = stoi(s.substr(s.size() / 2));
double a = 1.0 * num / (1.0 * nsub1);
a = a / (1.0 * nsub2);
if (a == (int)a) printf ("Yes\n");
else printf ("No\n");
}
}