#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.