吉大ACM-1练习

An equation of the form ax + by = c is a Diophantine equation, where a, b, and c are positive integers.

Such an equation has no integer solution if the greatest common divisor of a and b does not divide c. If it does divide c, then a solution exists.

The greatest common divisor (gcd) of two positive integers, is the largest integer that divides both a and b. For example, the gcd of 2 and 6 is 2. The gcd of 9 and 12 is 3. The gcd of 15 and 7 is 1.

Given a diophantine equation, determine if it has any solutions.

Input


A positive integer, denoting the number of equations.

A diophantine equation. Each equation will be of the form: <num>x+<num>y=<num>, where <num> denotes a positive integer(<=65536). Each equation will be on a separate line and will contain no blanks.

Output


The phrase “<equation> has a solution.” if a solution exists, or the phrase “<equation> has no solution.” if one does not exist, where <equation> is the equation in question.

Sample Input

2
2x+5y=11
60x+18y=97

Sample Output

2x+5y=11 has a solution.
60x+18y=97 has no solution.

代码:

#include<stdio.h>

int gcd(int a,int b);
int main()
{
 int i,n,a,b,c;
 scanf("%d",&n);
 i=0;
 while(i<n)
 {
  scanf("%dx+%dy=%d",&a,&b,&c);
  if(c%gcd(a,b)==0)
   printf("%dx+%dy=%d has a solution.\n",a,b,c);
  else
   printf("%dx+%dy=%d has no solution.\n",a,b,c);
  i++;
 }
 return 0;
}

int gcd(int a,int b)
{
 if(a<b)
 {
  int t=a;
  a=b;
  b=t;
 }
 if(a%b==0)
  return b;
 else
  return gcd(b,a%b);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值