Informatică, întrebare adresată de andifeherv, 9 ani în urmă

Cerința

Se dă un vector cu n elemente, numere naturale. Afișați în ordine descrescătoare valorile din vector care sunt prime cu ultimul element al vectorului.
Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele vectorului.
Date de ieșire

Programul va afișa pe ecran valorile cerute, în ordine descrescătoare, separate prin exact un spațiu.
Restricții și precizări

1 ≤ n ≤ 1000
cele n numere citite vor fi mai mici decât 1.000.000.000


Exemplu

Intrare

8
16 7 6 3 1 5 9 14

Ieșire

9 5 3 1

Răspunsuri la întrebare

Răspuns de Druff
0
#include <cstdio>
#include <algorithm>

#define MAX_N 1000

int v[MAX_N];

int cmmdc(int a, int b) {
  if (b == 0)
    return a;
  return cmmdc(b, a % b);
}

int main(void) {
  int n;
  
  scanf("%d, &n);
  for (int i = 0; i < n; ++i) {
    scanf("%d", &v[i]);
  }
  std::sort(v, v + n - 1);
  for (int i = n - 2; i >= 0; --i) {
    if (cmmdc(v[i], v[n - 1]) == 1) {
      printf("%d ", v[i]);
    }
  }
  printf("\n");
  
  return 0;
}

Anexe:
Alte întrebări interesante