uva10976

来源:互联网 发布:转录组数据上传geo 编辑:程序博客网 时间:2024/06/13 12:26

这个,枚举到2n就可以了,其实还有一些小技巧,自己看吧

#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;void cal(double k){    int n = 0;    for(double i = k + 1 ; i <= k * 2 ; i++)        if(k*i/(k-i) == floor(k*i/(k-i))){            n++;    }    printf("%d\n",n);    for(double i = k + 1 ; i <= k * 2 ; i++){        if(k*i/(k-i) == floor(k*i/(k-i))){            printf("1/%.0lf = 1/%.0lf + 1/%.0lf\n",k,k*i/(i-k),i);        }    }}int main(){    double k;    while(~scanf("%lf",&k)){        cal(k);    }    return 0;}
0 0
原创粉丝点击