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

Se consideră numărul natural a, a>10000. Folosind descompunerea în factori primi a lui a, decideţi dacă acesta poate fi exprimat ca produs de două numere prime şi daţi un mesaj corespunzător.

De exemplu, pentru n=15, există numerele 3 şi 5 prime, care satisfac condiţia din enunţ, deci se va afişa mesajul Da, iar pentru n=16, se va afişa mesajul Nu.


Răspunsuri la întrebare

Răspuns de CinevaFaraNume
1

#include <iostream>

using namespace std;

int main(){

int a;//Pentru a < 2*10^9

int divprimi=0, div1, div2;

cin >> a;

for(int i = 2; i <= a && divprimi <= 2; i++){

while(a % i == 0){

a/=i;

if(divprimi == 0)

div1 = i;

else div2 = i;

divprimi++;

}

}

if(divprimi == 2)

cout << "Factorii sunt " << div1 << " si " << div2;

else

cout <<"Nu";

return 0;

}


VatafuLogician: Multumesc mult
Alte întrebări interesante