Factorialul unui număr natural nenul n
, notat n!
, se defineşte ca fiind produsul numerelor naturale de la 1
la n
. Una dintre modalităţile de reprezentare a factorialului este prin enumerarea factorilor primi pe care îi conţine şi a exponenţilor acestora.
Cerința
Fiind dat un număr natural n
, scrieţi un program care determină suma exponenţilor factorilor primi corespunzători descompunerii în factori primi a lui n
factorial.
Date de intrare
Fişierul de intrare factorial3.in
conţine pe prima linie numărul natural n
.
Date de ieșire
Fişierul de ieşire factorial3.out
va conţine pe prima linie un număr reprezentând suma exponenţilor numerelor prime din descompunerea în factori primi a lui n!
.
Restricții și precizări
• 2 ≤ n ≤ 100000
Exemplu
factorial3.in
5
factorial3.out
5
Explicație
5! = 1*2*3*4*5 = 2
3
* 3
1
* 5
1
3+1+1=5
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Factorial3:
#include <fstream>
using namespace std;
ifstream fin("factorial3.in");
ofstream fout("factorial3.out");
long n,i,j,s,p,aux;
int ciur[100001];
int main()
{
fin>>n;
for (i=2;i*i<=n;i++)
if (!ciur[i])
for (j=i;i*j<=n;j++)
ciur[i*j]=1;
for (i=2;i<=n;i++)
{
if (!ciur[i])
{
p=0;
for(j=i;j<=n;j+=i)
{
aux=j;
while (aux%i==0)
{
aux/=i;
p++;
}
}
s+=p;
}
}
fout<<s<<'\n';
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #2104 Factorial3
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2104 Factorial3 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!