第二十六题 UVA10976 分数拆分 Fractions Again?!

PDF

题意:x >= y 1/x <= 1/y 所以y<=2*k

#include<iostream>
#include<cstring>
#include<cstdio> 
#define Maxn 1001
using namespace std;

int main(int argc,char* argv[]) {
	int k,x,y,a[Maxn],b[Maxn];
	while(scanf("%d",&k) == 1) {
		int cnt = 0;
		for(y = k + 1; y <= k*2; y++) {
			if((k * y) % (y - k) == 0) {
				a[++cnt] = (k * y) / (y - k);
				b[cnt] = y;
			}
		}
		printf("%d\n",cnt);
		for(int i=1; i<=cnt; i++) printf("1/%d = 1/%d + 1/%d\n",k,a[i],b[i]);
	}
	return 0;
}
发布了732 篇原创文章 · 获赞 31 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/qq_35776409/article/details/103933560
今日推荐