Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>#include<math.h>using namespace std;int main(){long int n, m;cin >> n>>m;int prime1[100], prime2[100];int counter1 = 0, counter2 = 0;for(int i=2;i<=sqrt(double(n));i++)if(n%i==0&&(n/=i))prime1[counter1++] = i--;prime1[counter1++] = n;for(int i=2;i<=sqrt(double(m));i++)if(m%i==0&&(m/=i))prime2[counter2++] = i--;prime2[counter2++] = m;int bottom = 1;for(int i=0;i<counter1;i++){int tmp1=1,tmp2=1;for(int j=i;j<counter1;j++)if(prime1[j] == prime1[i])tmp1++;for(int j=0;j<counter2;j++)if(prime2[j] == prime1[i]){tmp2++;prime2[j] = -1;}bottom *= max(tmp1, tmp2);