Informatică, întrebare adresată de 113jpt233, 8 ani în urmă

Se citesc maxim 10000 numere naturale până la întâlnirea numărului 0 (zero). Să se determine numerele care au cel puțin 5 divizori naturali.
Cerința:
Să se scrie un program C++ care determină numerele care au cel puțin 5 divizori naturali..
Date de intrare:
Programul citește maxim 10000 numere naturale până la întâlnirea numărului 0 din fișierul test.in.
Date de ieșire:
Programul va scrie în fișierul test.out numerele cerute despărțite printr-un spațiu în ordinea în care apar în fișier sau valoarea -1 dacă nu există nici un astfel de număr.
Restricții și precizări:
valoarea absolută a numerelor date va fi mai mică decât 1.000.000.000
Exemplu
Intrare
13 17 154 32 0
Iesire
154 32

Răspunsuri la întrebare

Răspuns de Daniel4761
0

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("test.in");

ofstream g("test.out");

int main()

{

unsigned int n, divizori, div, exista=0;

f>>n;

while(n){

 divizori=0;

 for(div=1;div<=n;div++)

  if(n%div==0)

   divizori++;

 if(divizori>=5){

  g<<n<<' '; exista=1;

 }

 f>>n;

}

if(!exista) g<<-1;

f.close(); g.close();

return 0;

}

Alte întrebări interesante