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

Fie un sir de numere naturale. Sa se afiseze suma divizorilor fiecarui numar. Datele de intrare se citesc din fisierul "date.in" astfel: de pe prima linie se citeste numarul p, iar de pe urmatoarea linie se citesc p numere separate prin cate un spatiu. Datele de iesire se vor afisa, pe linii distincte, in fisierul "date.out".

Răspunsuri la întrebare

Răspuns de Madalin77
2

Răspuns:

#include <iostream>

#include <fstream>

using namespace std;

int main ()

{

   ifstream f ("date.in");

   ofstream g ("date.out");

   

   int p;

   f>>p;

   int rd;

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

       f>>rd;

       int sum = rd;

       for(int i = 2; i<=rd/2;i++){

           if(rd % i == 0){

               sum+=i;

           }

       }

       g<<sum<<endl;

   }

   

   f.close();

   g.close();

   

 return 0;

}

Explicație:

Doar trebuie sa iti creezi un fisier pe nume date.in, in care pe primul rand iti vei pune numarul de cifre pe care le vei scrie pe al doilea rand separate printr-un spatiu.

Dupa ce vei rula, se va creea fisierul date.out si vor aparea divizorii fiecarui numar pe cate o linie.

Alte întrebări interesante