View Code of Problem 102

#include<stdio.h>

int GCD(int a, int b){
	if(b==0) return a;
	else return GCD(b, a % b); 
}

int main(){
	int x, y;
	while(scanf("%d %d", &x, &y) != EOF) {
		int cnt = 0;
		int i, j;
		for(int i=2; i<=y; i++){ //y是最小公倍数 
			for(int j=i+1; j<=y; j++){
				if(GCD(i,j) == x && i*j/GCD(i,j) == y){
					cnt++;
					printf("%d %d\n", i, j);
				}
			}
						
		}
		printf("%d\n", 2*cnt);
		 
	}

	return 0;
}

Double click to view unformatted code.


Back to problem 102