Skip to content

Commit 88fd386

Browse files
authored
Create Primefactorization.cpp
1 parent 798ad31 commit 88fd386

File tree

1 file changed

+120
-0
lines changed

1 file changed

+120
-0
lines changed

Primefactorization.cpp

+120
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
#include<bits/stdc++.h>
2+
///...................................*****.................................................///
3+
/// Author : Raihan Khan Raka ( [email protected] ) ///
4+
/// Department of Computer Science ///
5+
/// & Engineering ///
6+
/// Comilla University , Bangladesh. ///
7+
///...................................*****.................................................///
8+
9+
/*....................................Values................................................*/
10+
#define inf 1<<30
11+
#define p5 100007
12+
#define p6 1000007
13+
#define PI acos(-1)
14+
#define M 1000000007
15+
16+
/*....................................Functions.............................................*/
17+
#define sqr(x) x*x
18+
#define sc scanf
19+
#define pf printf
20+
#define scin(x) sc("%d",&(x))
21+
#define scin2(x,y) sc("d",&(x),&(y))
22+
#define scin3(x,y,z) sc("d%d",&(x),&(y),&(z))
23+
#define scln(x) sc("%lld",&(x))
24+
#define min3(a,b,c) min(a,min(b,c))
25+
#define max3(a,b,c) max(a,max(b,c))
26+
#define all(v) v.begin(), v.end()
27+
#define ok cout << "ok" << endl
28+
#define mem(x,y) memset(x,y,sizeof(x))
29+
#define READ(f) freopen(f, "r", stdin)
30+
#define WRITE(f) freopen(f, "w", stdout)
31+
32+
/*...................................Data_Types............................................*/
33+
#define lli long long int
34+
#define ull unsigned long long int
35+
#define pii pair < int, int>
36+
#define pll pair < ll, ll>
37+
#define veci vector<int>
38+
#define vecl vector<long long int>
39+
#define vecp vector< pair<int,int> >
40+
#define mapstrint map< string , int >
41+
#define mapstrstr map< string , string >
42+
#define mapint map< int, int >
43+
#define uset unordered_set
44+
#define umap unordered_map
45+
#define pq priority_queue
46+
47+
#define pb push_back
48+
#define mp make_pair
49+
#define ss stringstream
50+
51+
/*.....................................Loops...............................................*/
52+
#define rep( i , a , b ) for( i=a ; i<b ; i++)
53+
#define rev( i , a , b ) for( i=a ; i>=b ; i--)
54+
#define repx( i ,a,b, x) for( i=a ; i<b ; i+=x)
55+
56+
#define FastRead ios_base::sync_with_stdio(0);cin.tie(0)
57+
58+
59+
//int month[]={31,28,31,30,31,30,31,31,30,31,30,31};
60+
//long power(long int x, long int y){ int temp; if( y == 0) return 1; temp = power(x, y/2); if (y%2 == 0) return temp*temp; else return x*temp*temp; }
61+
/*lli gcd(lli x,lli y)
62+
{
63+
if(x==0) return y;
64+
return gcd(y%x,x);
65+
}*/
66+
/*
67+
int dx[5] = {1, -1, 0, 0 };
68+
int dy[5] = {0, 0, 1, -1};
69+
*/
70+
71+
using namespace std;
72+
73+
lli primefact(lli n)
74+
{
75+
n=abs(n);
76+
lli i,cnt=0;
77+
78+
if(n%2==0)
79+
{
80+
while(n%2==0)
81+
n=n>>1;
82+
83+
cnt++;
84+
}
85+
//cout << cnt << endl;
86+
for(i=3; i*i<=n; i+=2)
87+
{
88+
if(n%i==0)
89+
{
90+
cnt++;
91+
while(n%i==0)
92+
n=n/i;
93+
}
94+
}
95+
96+
if(n>2)
97+
{
98+
cnt++;
99+
}
100+
101+
return cnt;
102+
103+
104+
}
105+
106+
int main()
107+
{
108+
lli n,p;
109+
//READ("input.txt");
110+
//WRITE("output.txt");
111+
while(scln(n) and n)
112+
pf("Total distinct primefactor = %lld\n",primefact(n));
113+
114+
115+
#ifdef HOME
116+
cerr << "Time elapsed: " << clock() / 1000 << " ms" << endl;
117+
#endif
118+
return 0;
119+
}
120+

0 commit comments

Comments
 (0)