XTU-1189-root
Description
题目描述
求方程 (x+a)/(x+b) = c的非负整数根,其中a,b,c都是非负整数。
输入
第一行是一个整数K,表示样例的个数(K≤30000)。以后的K行每行为以一个样例,包含三个非负整数a,b,c (a,b,c ≤ 109)。
输出
每行输出一个样例的结果。如果方程没有根,输出“None”,否则输出根的值,如果存在多个根,输出最小的那个。
Sample Input
3
1 1 1
1 1 2
3 1 2
Sample Output
0
None
1
#include<stdio.h>
int main(void)
{
int K;
scanf("%d",&K);
while(K--)
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(c==1)
{
if(a==b)
{
if(b!=0)
printf("0\n");
else
printf("1\n");
}
else
printf("None\n");
}
else if(c!=1)
{
if(a==b)
printf("None\n");
else
{
int t=(b*c-a)/(1-c);
if(t>=0)
{
if((b*c-a)%(1-c)==0)
printf("%d\n",t);
else
printf("None\n");
}
else
printf("None\n");
}
}
}
return 0;
}