题目:给你一个数k,求所有使得1/k = 1/x + 1/y成立的x≥y的整数对。
分析:数论,枚举。枚举所有在区间(k+1,2k)上的y即可,当1/k - 1/y的结果分子为1即为一组解。
#include<bits/stdc++.h>
using namespace std;
int x[1100];
int y[1100];
int main()
{int n;while(~scanf("%d", &n)){int cc = 0;for(int i = 1 + n; i <= 2 * n; i++){if(n * i % ( i - n) == 0){x[cc] = n * i/( i - n);y[cc++] = i;}}printf("%d\n",cc);//printf("%d\n",cc);for(int i = 0; i < cc; i++)printf("1/%d = 1/%d + 1/%d\n",n,x[i],y[i]);}
}