题目链接:点击打开链接
题意:K位的整数Z,前K / 2位取为A,后K / 2位取为B,问Z是否能够被A * B除尽?
思路:按照字符串分理出A、B,转化为整数后去判断即可。
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <iostream>
using namespace std;
int main(){
int cnt,len,A,B,Z;
string a,b,z;
scanf("%d",&cnt);
while(cnt--){
cin >> z;
len = z.size();
a = z.substr(0,len / 2);
b = z.substr(len / 2,len / 2);
Z = atoi(z.c_str());
A = atoi(a.c_str());
B = atoi(b.c_str());
if(B != 0 && Z % A == 0 && (Z / A ) % B == 0){
printf("Yes\n");
}
else{
printf("No\n");
}
}
return 0;
}