Informatică, întrebare adresată de criss331980, 7 ani în urmă

Construiți un program care citește din fișierul ”date.in” un șir de numere naturale nenule și scrie în fișierul ”date.out”, perechile de elemente din şir care sunt prime între ele, câte o pereche pe un rând, separate printr-un spațiu.
Se va folosi subprogramul de mai sus.


Sergetec: Nu stiu exact la ce subprogra te referi, am sa presupun ca acel subprogram verifica daca 2 numere sunt prime intrele (daca nu au alt factor comun in afara de 1), subprogram pe care l-am scris eu
criss331980: Bune
criss331980: Multumesc,asa a fost cerinta,fara alte detalii
criss331980: E bun

Răspunsuri la întrebare

Răspuns de Sergetec
1

Salut!

Ai rezolvarea in C++ mai jos

#include <fstream>

using namespace std;

ifstream in("date.in");

ofstream out("date.out");

bool verifPrimeIntreEle(int a, int b) {

   while (b != 0) {

       int r = a % b;

       a = b;

       b = r;

   }

   if (a == 1) {

       return true;

   }

   return false;

}

int main() {

   int a[100001], n = 0;

   while (in >> a[++n]) {

       //se face citirea

   }

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

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

           if (verifPrimeIntreEle(a[i], a[j])) {

               out << a[i] << " " << a[j] << '\n';

           }

       }

   }

   in.close();

   out.close();

   return 0;

}


criss331980: Mersi
Alte întrebări interesante