题意:中文题面,不需要解释了。
思路:求出数组中能被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;
}