Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <fstream>
- #include <algorithm>
- #include <math.h>
- using namespace std;
- int Nod(int a, int b)
- {
- int t;
- if (a<b) { t =a; a=b; b=t; }
- while(b!=0) {
- t = b;
- b = a%b;
- a = t;
- }
- return a;
- }
- int main() {
- int n, m, ya= 0, tr= 0;
- cin >> n ;
- vector<int> vl;
- vector<int> v;
- vector<int> v1(n,0);
- for(int i = 0; i < n; i++){
- cin >> m;
- vl.push_back(m);
- }
- for(int i = 0; i < n; i++){
- ya = 0;
- for(int j = 0; j < v.size(); j++){
- if( vl[i] == v[j]){
- ya+=1;
- }
- }
- if(ya == 0) {
- v.push_back(vl[i]);
- }
- }
- for(int i = 0; i < n; i++){
- for(int j = 0; j < n; j++) {
- if(i!= j) {
- ya = 0;
- m = Nod(v[i], v[j]);
- for (int k = 0; k < n; k++) {
- if (i != k and j != k and m == v[k]) {
- v1[k] = 1;
- ya += 1;
- }else{
- if(m == v[k]){
- ya += 1;
- }
- }
- }
- if (ya == 0){
- cout<<-1;
- return 0;
- }
- }
- }
- }
- for(int i = 0; i < n; i++){
- if(v1[i] == 0){
- tr+=1;
- }
- }
- cout<<tr<<endl;
- for(int i = 0; i < n; i++){
- if(v1[i] == 0){
- cout<<v[i]<<" ";
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement