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

Se citește un număr natural n. Afișați toate tripletele de numere naturale x, y, z (1<x<y<z<n) care sunt divizori ai lui n și care au proprietatea că x+y+z=n. Programul va afișa pe ecran pe rânduri separate câte un triplet conform cerinței, numerele din triplet fiind in ordine strict crescatoare și separate prin cate un spațiu. Dacă nu există nici un astfel de triplet, atunci se va afișa pe ecran nu exista. Exemple:Pentru n=24 se obtin 4 8 12.Pentreu n=20 se afiseaza nu exista.

în C++​

Răspunsuri la întrebare

Răspuns de andrei750238
1

#include <iostream>

using namespace std;

int main(){

int x,y,z,n;

bool exista=0;

cin >> n;

 

for(x=1;x<n;x++){

 if(n%x) continue;

 for(y=x+1;y<n;y++){

  if(n%y) continue;

  z = n-x-y;

  if(n%z==0 && y<z){

   cout << x << " " << y << " " << z << endl;

   exista = 1;

  }

 }

}

 

if(!exista) cout << "nu exista";  

}


dombrowskimaria7: mersi,dar deja târziu
Alte întrebări interesante