题意:中文题面,不需要解释了。
思路:求出数组中能被x整除的数字的最小公倍数lcm,如果lcm%x==0,则可以找到,否则找不到。
AC代码:
#include<bits/stdc++.h>
using namespace std;
int lcm(int a,int b){
return a/__gcd(a,b)*b;
}
int main(void){
int n;
cin>>n;
int a[n];
for(int i = 1; i <= n; i++){
cin>>a[i];
}
int x;
cin>>x;
int res = 1;
for(int i = n; i >= 1; i--){
if(x%a[i]==0){
res = lcm(res,a[i]);
}
}
if(res%x==0){
cout<<"Possible"<<endl;
}
else
cout<<"Impossible"<<endl;
return 0;
}
京公网安备 11010502036488号