View Code of Problem 102

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int gcd(long int a,long int b){
    return a%b?gcd(b,a%b):b;
}

int main(){
	long int x,y,p;
	while(scanf("%ld %ld",&x,&y)!=EOF){
	    if(x==y){
	        printf("1\n");
	    }else{
	        int cnt=0;
    	    for(p=x;p<=sqrt(x*y);p++){
    	        if((x*y)%p==0&&gcd(p,x*y/p)==x){
    	            cnt++;
    	        }
    	    }
    	    printf("%d\n",cnt*2);
	    }
	    
	}
	return 0;
} 

Double click to view unformatted code.


Back to problem 102