fbpx

Problema #514 – SortPIE – Rezolvari PBInfo

de Mihai-Alexandru

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
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    cin >> n;
    int a[1001];
    for(int i = 1; i <= n; ++i)
        cin >> a[i];

    for(int i = 1; i < n - 1; ++i)
        for(int j = i + 1; j <= n-1; ++j)
            if(a[i] < a[j])
                swap(a[i], a[j]);

    for(int i = 1; i < n; ++i){
        int x = a[i];
        int y = a[n];
        while(y){
            int r = x % y;
            x = y;
            y = r;
        }
        if(x == 1)
            cout << a[i] << ' ';
    }

    return 0;
}
Comentarii

S-ar putea sa iti placa