您的位置:首页 > 其它

PAT (Advanced Level) Practise 1132 Cut Integer (20)

2017-11-08 15:55 274 查看


1132. Cut Integer (20)

时间限制

400 ms

内存限制

65536 kB

代码长度限制

16000 B

判题程序

Standard

作者

CHEN, Yue

Cutting an integer means to cut a K digits long integer Z into two integers of (K/2) digits long integers A and B. For example, after cutting Z = 167334, we have A = 167 and B = 334. It is interesting to see that Z can be devided by the product of A and B,
as 167334 / (167 x 334) = 3. Given an integer Z, you are supposed to test if it is such an integer.

Input Specification:

Each input file contains one test case. For each case, the first line gives a positive integer N (<= 20). Then N lines follow, each gives an integer Z (10<=Z<=231). It is guaranteed that the number of digits of Z is an even
number.

Output Specification:

For each case, print a single line "Yes" if it is such a number, or "No" if not.
Sample Input:
3
167334
2333
12345678

Sample Output:
Yes
No
No


#include<stdio.h>

int main(){
int T;
for (scanf("%d",&T);T--;){
char s[20];
scanf("%s",s);
int n = 0;
while (s
) ++n;
long long a,b,c;
sscanf(s, "%lld", &a);
sscanf(s + n / 2,"%lld", &b);
s[n/2] = 0;
sscanf(s, "%lld", &c);
puts(!b || a%(b*c)?"No":"Yes");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: