参考一:
#include<iostream>
#include<cmath>
using namespace std;
bool test(int num){
int temp = num, A, B;
int cnt = 0;
while(num > 0){
num /= 10;
cnt++;
}
A = temp/(pow(10, cnt/2));
B = temp%(int)(pow(10, cnt/2));
if(A * B != 0 && temp%(A*B) == 0) return true;
else return false;
}
int main(){
int n;
scanf("%d", &n);
for(int i = 0; i < n; i++){
int num;
scanf("%d", &num);
if(test(num)) printf("Yes\n");
else printf("No\n");
}
return 0;
}
参考二:
#include <iostream>
using namespace std;
int main() {
int n, num;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &num);
string s = to_string(num);
int len = s.length();
int a = stoi(s.substr(0, len/2));
int b = stoi(s.substr(len/2));
if (a * b != 0 && num % (a * b) == 0)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}
原文:https://www.cnblogs.com/tsruixi/p/13096464.html