👤

Sa se afiseze cel mai mic numar dintre cele citite, precum si numarul lui de aparitii.(limbaj c++)​

Răspuns :

Răspuns:

Desigur! Pentru a afișa cele 3 numere cu cele mai mici 3 sume ale divizorilor, în ordine crescătoare a sumelor, puteți urma următorul cod în limbajul C++:

```cpp

#include <iostream>

#include <vector>

#include <algorithm>

int sumDivisors(int num) {

int sum = 0;

for (int i = 1; i <= num; i++) {

if (num % i == 0) {

sum += i;

}

}

return sum;

}

int main() {

std::vector<int> numbers = {10, 15, 6, 8, 12}; // Aici puteți înlocui cu numerele dorite

std::vector<std::pair<int, int>> sums;

for (int num : numbers) {

sums.push_back(std::make_pair(num, sumDivisors(num)));

}

std::sort(sums.begin(), sums.end(), [](const std::pair<int, int>& a, const std::pair<int, int>& b) {

return a.second < b.second;

});

std::cout << "Cele 3 numere cu cele mai mici sume ale divizorilor, în ordine crescătoare a sumelor, sunt: ";

for (int i = 0; i < 3; i++) {

std::cout << sums[i].first << " ";

}

return 0;

}

```

Acest cod va calcula suma divizorilor pentru fiecare număr din vectorul `numbers` și va sorta perechile (număr, sumă) în funcție de sumă. Apoi, va afișa cele 3 numere cu cele mai mici sume ale divizorilor în ordine crescătoare a sumelor.

Vă recomand să înlocuiți vectorul `numbers` cu numerele dorite și să rulați codul pentru a obține rezultatul.