#include <iostream> #include<algorithm> using namespace std; long long NWD(long long a,long long b) { while(b)swap(a%=b,b); return a; } int main() { long long k,N,a,p=1,x=1; cin>>k>>N; for(int i=0;i<k;i++) { cin>>a; p=p*a; } while(N>1) { a=N; while(a>1) { if(NWD(a,p)==1)break; else a=a/NWD(a,p); if(a==1) { x=N; N=1; } } N--; } cout<<x; return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #include <iostream> #include<algorithm> using namespace std; long long NWD(long long a,long long b) { while(b)swap(a%=b,b); return a; } int main() { long long k,N,a,p=1,x=1; cin>>k>>N; for(int i=0;i<k;i++) { cin>>a; p=p*a; } while(N>1) { a=N; while(a>1) { if(NWD(a,p)==1)break; else a=a/NWD(a,p); if(a==1) { x=N; N=1; } } N--; } cout<<x; return 0; } |