分数拆分
题目

解题思路
其实就是1/k=1/x+1/y
所以1/k=1/x+1/y 且x>=y得出 1/k<=2/y,因此y<=2k.
枚举x和y即可
程序如下
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
long long n,sum;
int main()
{
scanf("%lld",&n);
for(long long i=n+1;i<=n*2;++i)//枚举x和y
if((i*n)%(i-n)==0)sum++;//判断是否整数
printf("%lld",sum);
return 0;
}
本文介绍了一种分数拆分的方法,通过将分数1/k拆分为两个分数之和1/x + 1/y,并给出具体的实现算法及C++代码。通过枚举x和y的值来找出所有可能的组合。
1596

被折叠的 条评论
为什么被折叠?



