题目描述
输入正整数k,找到所有的正整数对(x,y),使得:1/k = 1/x + 1/y,且x>=y。输出有多少组满足要求的x、y。
输入
输入只有一个正整数k。
输出
输出一行一个整数,表示解的组数。
思路
将题目中的方程变式,变成y=(k*x)/(x-k)
这样就可以通过枚举y来得出答案, k+1y<2k
#includeint main() { int k,x,y,ans=0; scanf("%d",&k); for(x=(k+1);x<=2*k;x++) { y=(k*x)/(x-k); if((k*x)%(x-k)==0) { y=(k*x)/(x-k); ans++; } } printf("%d",ans++); }
Comments NOTHING