Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<vector>
- #include<cmath>
- #include<map>
- #define SIZE 20
- using namespace std;
- void sieve();
- bool a[SIZE];
- vector<int>factor1;
- vector<int>factor2;
- map<int,int>map1,map2;
- map<int,int>::iterator cur;
- main(){
- sieve();
- int i,m,c,b;
- cin>>c>>b;
- if(c<b){
- m=c;
- c=b;
- b=m;}
- i=2;
- while(i<=c){
- if(a[i]==0&&c%i==0)
- factor1.push_back(i);
- i++;}
- i=2;
- while(i<=b){
- if(a[i]==0&&b%i==0)
- factor2.push_back(i);
- i++;
- }
- for(i=0;i<factor1.size();i++)
- map1[factor1[i]]++;
- //cout<<factor1[i]<<" ";
- cout<<"\n";
- for(i=0;i<factor2.size();i++)
- map2[factor2[i]]++;
- // cout<<factor2[i]<<" ";
- for(cur=map1.begin();cur!=map1.end();cur++)
- cout<<cur->first<<" "<<cur->second;
- //if(map1[i]<map2[i])
- }
- void sieve(){
- int i,k;
- int sq=sqrt(SIZE);
- for(i=0;i<=SIZE;i++)
- a[i]=0;
- a[0]=a[1]=1;
- for(i=4;i<=SIZE;i+=2)
- a[i]=1;
- for(i=3;i<=sq;i++)
- if(a[i]==0)
- for(k=2*i;k<=SIZE;k+=i)
- a[k]=1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement