Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- int v[100],n;
- void citire(int st, int dr)
- {
- if(st==dr)
- cin>>v[st];
- else
- {
- int mij=(st+dr)/2;
- citire(st,mij);
- citire(mij+1,dr);
- }
- }
- int cmmdc(int a, int b)
- {
- if(a==0 || b==0)
- return max(a,b);
- int r=a%b;
- while(r)
- {
- a=b;
- b=r;
- r=a%b;
- }
- return b;
- }
- /*int cmmdcr(int a, int b)
- {
- if(a==0||b==0)
- return max(a,b);
- else
- if(b==0)
- return a;
- else return cmmdcr(b,a%b);
- }*/
- int nr_prim(int st, int dr,int x)
- {
- if(st==dr)
- {
- if(x%st==0)
- return 1;
- else return 0;
- }
- else
- return nr_prim(st,(st+dr)/2,x)+nr_prim((st+dr)/2+1,dr,x);
- }
- int cmmdcdv(int st,int dr)
- {int a,b,mij=(st+dr)/2;
- if(st==dr)
- return v[st];
- else
- {
- a=cmmdcdv(st,mij);
- b=cmmdcdv(mij+1,dr);
- return cmmdc(a,b);
- }
- }
- int main()
- {
- cin>>n;
- citire(1,n);
- int d=cmmdcdv(1,n);
- if(d<=1)
- {
- cout<<"NU";
- return 0;
- }
- else
- if(d<=3)
- {
- cout<<"DA";
- return 0;
- }
- if(nr_prim(2,sqrt(d),d))
- cout<<"NU";
- else cout<<"DA";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement