Here, is solution to the question WPC5I - LCM . If you still have a doubt let me know E-mail : surajjumpy@gmail.com
#include<bits/stdc++.h> #define scan(x) scanf("%i",&x) int prime[4900],prime_index = 1,number[47001]={0}; int main() { int i,j,k,a,b,t,count1,count2,temp; long long pro; prime[1] = 2; for(i = 3; i <= 217; i += 2) { if(number[i] == 0) { prime[++prime_index] = i; for(j = i*i, k = 2*i; j <= 47000; j += k) number[j] = 1; } } for( ; i <= 47000; i += 2) if( number[i] == 0) prime[++prime_index] = i; scan(t); while(t--) { scan(a); scan(b); pro = i = 1; while(i <= prime_index && (a != 1 || b != 1)) { count1 = count2 = 0; while(a%prime[i] == 0) { a /= prime[i]; count1++; } while(b%prime[i] == 0) { b /= prime[i]; count2++; } if(count1 != count2) { temp = (count1 > count2) ? count1 : count2; while(temp) { pro *= prime[i]; temp--; } } i++; } if(a != b) { pro *= a; pro *= b; } printf("%lli\n",pro); } return 0; }
No comments:
Post a Comment
Your comment is valuable to us