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
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
Matematică,
8 ani în urmă
Franceza,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Chimie,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Biologie,
9 ani în urmă