Problem C
Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 10 Accepted Submission(s) : 5
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
Happy new year to everybody!
Now, I want you to guess a minimum number x betwwn 1000 and 9999 to let
(1) x % a = 0;
(2) (x+1) % b = 0;
(3) (x+2) % c = 0;
and a, b, c are integers between 1 and 100.
Given a,b,c, tell me what is the number of x ?
Now, I want you to guess a minimum number x betwwn 1000 and 9999 to let
(1) x % a = 0;
(2) (x+1) % b = 0;
(3) (x+2) % c = 0;
and a, b, c are integers between 1 and 100.
Given a,b,c, tell me what is the number of x ?
Input
The number of test cases c is in the first line of input, then c test cases followed.every test contains three integers a, b, c.
Output
For each test case your program should output one line with the minimal number x, you should remember that x is between 1000 and 9999. If there is no answer for x, output "Impossible".
Sample Input
2 44 38 49 25 56 3
Sample Output
Impossible 2575
最小公倍数类型
代码
#include<iostream>
using namespace std;
int main()
{
int t;
int a,b,c;
int n,k;
cin>>t;
while(t--&&cin>>a>>b>>c)
{
k=0;
if(1000%a==0)
n=1000/a;
else n=1000/a+1;
while((n*a+1)%b!=0||(n*a+2)%c!=0)
{
n++;
if(n*a>9999)
{
k=1;
cout<<"Impossible"<<endl;
break;
}
}
if(k==0)
{
cout<<n*a<<endl;
}
}
}