题目分析:暴力一下,还有判断除数是否为整数直接取余一下就好了。关键是分析出y<=k*2;
题目代码:
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>using namespace std ;int main(){ //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); int k ; while(scanf("%d",&k)!=EOF){ int x , y ,sum = 0; for(int i = k+1; i <= 2*k ; i++){ y = i ; if((k*y)%(y-k)==0){ sum++; } } PRintf("%d/n",sum); for(int i = k+1 ; i<= 2*k ; i++){ y = i ; if((k*y)%(y-k)==0){ x = (k*y)/(y-k); printf("1/%d = 1/%d + 1/%d/n",k,x,y); } } } return 0 ;}新闻热点
疑难解答