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

Se dau n numere naturale nenule. Ordonați descrescător cele n numere după numărul lor de divizori. c++

Răspunsuri la întrebare

Răspuns de AntiEaglesDavids
1
#include <iostream>
#include <algorithm>
using namespace std;

int nrdiv(int val)
{
    int sol = 0;

    for(int d = 2; d <= val / 2; d++)
        if(val % d == 0)
            sol++;
    return sol;
}

bool comp(int a, int b)
{
    return nrdiv(a) > nrdiv(b);
}

int main()
{
    int n, v[100];

    cin >> n;
    for(int i = 1; i <= n; i++)
        cin >> v[i];
    sort(v + 1, v + n + 1, comp);
    for(int i = 1; i <= n; i++)
        cout << v[i] << ' ';

    return 0;
}



mickey213: ai putea sa faci fara subprogram??
denisaaldea20: multumesc frumos. nu stiu, incerc
Alte întrebări interesante