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

se da un numar natural n, n<=100 si o cifra k din multimea {2;3;5;7}. Se cere sa se afișeze exponentul lui k in descompunerea in factori primi a produsului 1*2*3...*n.

Răspunsuri la întrebare

Răspuns de JolieJulie
1

Salut :)

Ce e scris cu // sunt comentarii,le poti sterge daca ti-ai dat seama cum merge treaba.


CODUL

#include <iostream>

using namespace std;

int main()

{

   int n,k,p=1,exp=0,i;

   cin>>n; // cititm n,ex:10

   cin>>k; // cititm k,din multimea {2,3,5,7}

   if(k==2 || k==3 || k==5 || k==7) // verificam daca k∈{2,3,5,7}

   {

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

           p=p*i; // calculam n! , adica 1*2*...*n = 1*2*3*4*5*6*7*8*9*10

       while(p%k==0) // "atat timp cat p se imparte la k"

       {

           exp++;//am gasit un exponent

           p=p/k;//cautam inca unul

       }

       cout<<"Exponentul lui "<<k<<" este "<<exp;

   }

}


Afisare pt. n=10 si k=2 : " Exponentul lui 2 este 8 "

Verificare : 1*2*3*4*5*6*7*8*9*10 = 1*2*3**5*2*3*7**9*2*5=2⁸*....


Alte întrebări interesante