let's start Code

FACT0 - Integer Factorization (15 digits)

FACT0 - Integer Factorization (15 digits)

টপিকঃ প্রাইম ফ্যাক্টর

হিন্টঃ সিভ দিয়ে করলে টাইম লিমিট, নরমালি করতে হবে। প্রথমে x = ২ দিয়ে যতবার যায় ভাগ তারপর ৩ দিয়ে , এরপর ৫  দিয়ে...

যখন x*x >N হয়ে যাবে তখন লুপটা ব্রেক হবে।

 এরপর শেষে সংখ্যাটি ১ এর চেয়ে বড় থাকলে ওইটা একটা  প্রাইম নাম্বার হবে, আর প্রতিবার ভাগ করার সময় একটা কাউন্ট রাখবো যেইটা দ্বারা বুঝবো ওইটা ওই প্রাইম ডিভিজর এর কাউন্ট।😀

কোডঃ

 

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll maxn = 1000005;
int main()
{
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
freopen("error.txt", "w", stderr);
#endif
ll n;
while(cin >> n){
if(!n)break;
ll cnt = 0;
while(n%2 == 0){
cnt++;
n /= 2;
}
if(cnt > 0) cout << "2^"<<cnt<< " ";
ll x = 3;
while(x*x <= n){
cnt = 0;
while(n%x == 0){
cnt++;
n /= x;
}
if(cnt > 0) cout << x << "^"<<cnt<< " ";
x += 2;
}
if(n > 1)cout << n << "^1\n";
}
return 0;
}
view raw FACT0(SPOJ).cpp hosted with ❤ by GitHub
Share:

Related Posts:

No comments:

Post a Comment

About

let's start CODE

Popular Posts