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

Scrie un program in care numarul natural x , sa se afiseze factorul prim care apare la puterea cea mai mare in descompunerea lui x in factori primi.

Exemplu: Pentru x=1620 , descompunerea este 2^2*3^4*5*1, iar factorul cerut este 3 care este la puterea cea mai mare in descompunere.

Răspunsuri la întrebare

Răspuns de ElenaSF
1

Răspuns:

#include <iostream>

#include<conio.h>

using namespace std;

int main() {

int x, v[100000], div = 2, max = 0,x1;

cin >>x;

for (int i = 0; i < x/2; i++)

 v[i] = 0;

x1 = x;

while (x != 1)

{

 if (div > x)

  div = 2;

 if (x % div == 0) {

  x = x / div;

  v[div - 2]++;

 }

 else

  div++;

}

for (int i = 0; i < x1/2; i++)

{

 if (v[i] > max) {

  max = v[i];

 }

}

for (int i = 0; i < x1 / 2; i++)

 if (max == v[i])

  cout << i + 2 << " ";

}

Alte întrebări interesante