Informatică, întrebare adresată de r3prezint, 8 ani în urmă

Numerele au devenit mai prietenoase, cu toate acestea, unele numere au început să creeze grupuri mai speciale. Un prim grup de numere a decis să lase doar numere care sunt mai mici decât n și dacă au exact x divizori. Așadar au început selecția pentru admiterea în grupa specială.

Se dau două numere naturale, n și x. Să se afișeze toate numerele naturale mai mici sau egale decât n care au exact x divizori.

Date de intrare
Se citesc de la tastatură două numere naturale: n și x.

Date de ieșire
Să se afișeze toate numerele naturale mai mici sau egale decât n care au exact x divizori, separate prin spații.

Răspunsuri la întrebare

Răspuns de andrei750238
0

#include <iostream>

using namespace std;

//Functie care calculeaza numarul de divizori al valorii date ca parametru

int nrDiv(int n) {

//Caz special n=1

if (n == 1) return 1;

//Divizorii improprii

int contor = 2;

//Divizorii proprii

for (int d = 2; d <= n / 2; d++)

 if (n % d == 0) ++contor;

return contor;

}

int main() {

//Declarari

int n, x;

//Citire date intrare

cin >> n >> x;

//Afisare numere cu x divizori

for (int i = 1; i <= n; i++)

 if (nrDiv(i) == x) cout << i << " ";

return 0;

}

Anexe:
Alte întrebări interesante