pku 1079 分数.txt

来自「ACM资料大集合」· 文本 代码 · 共 48 行

TXT
48
字号
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <algorithm>
using namespace std;

//PKU 1079 分数
#define AMAX 5000

typedef struct fzm
{
	int fz;
	int fm;
}fzm;

void solve(int fenzi,int fenmu)
{
	int i,j,xx;
	fzm ans[AMAX];
	double x,error;
	j=0;
	error=10000;
	for(i=1;i<=fenmu;i++)
	{
		x=((double)(i*fenzi))/((double)(fenmu));
		xx=(int)(x+0.5);
		if(error>fabs((double)(xx)/double(i)-(double)(fenzi)/(double)(fenmu))) 
		{
			error=fabs((double)(xx)/double(i)-(double)(fenzi)/(double)(fenmu));
			j++;
			ans[j].fz=xx;
			ans[j].fm=i;
		}
	}
	for(i=1;i<=j;i++)
		printf("%d/%d\n",ans[i].fz,ans[i].fm);
	printf("\n");
}

int main()
{
	int fenzi,fenmu;
	while(scanf("%d %d",&fenzi,&fenmu)!=EOF)
		solve(fenzi,fenmu);	
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?