Pagini recente » Cod sursa (job #914362) | Cod sursa (job #482435) | Cod sursa (job #2512207) | Cod sursa (job #2618906) | Cod sursa (job #719114)
Cod sursa(job #719114)
/*4. Divizori
Se da un numar natural N (1 <= N <= 2.000.000.000).
Sa se scrie o functie care calculeaza numarul de divizori ai lui N.
Indicatie: orice numar natural N se poate scrie sub forma
N=p1^k1 * p2^k2 *...* pr^kr, unde p1,p2...pr sunt numere prime.*/
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
int ciurErat(int n)
{
char a[100];
int i, j;
for(i=2;i*i<=n;i++)
a[i]=0;
for (i = 2;(i*i)<= n;i++)
{
if (a[i]==0)
{
for (j=i+i;j<=n;j=i+j)
a[j]=1;
}
}
int nrdiv=1;
for(i=2;i*i<=n;i++)
if ((a[i]==0)/* and (n%a[i]==0)*/)
nrdiv++;
return nrdiv;
}
int main()
{
int n;
ifstream fin;
fin.open("ciur.in");
ofstream fout;
fout.open("ciur.out");
fin>>n;
cin>>n;
fout<< ciurErat(n);
fin.close();
fout.close();
return 0;
}