杭电ACMsteps213解题报告.doc
上传人:sy****28 上传时间:2024-09-14 格式:DOC 页数:4 大小:16KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

杭电ACMsteps213解题报告.doc

杭电ACMsteps213解题报告.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

ACMsteps2.1.3解题报告#include<stdio.h>__int64gcd(__int64a,__int64b){if(b)returngcd(b,a%b);returna;}__int64lcm(__int64a,__int64b){__int64c=gcd(a,b);return(a*b)/c;}intmain(){__int64n,i;__int64g;__int64r,t;__int64r_a,r_b;__int64d_a,d_b;scanf("%I64d",&n);for(i=0;i<n;i++){scanf("%I64d/%I64d",&r_a,&d_a);scanf("%I64d/%I64d",&r_b,&d_b);g=gcd(r_a,d_a);r_a=r_a/g;d_a=d_a/g;g=gcd(r_b,d_b);r_b=r_b/g;d_b=d_b/g;r=lcm(r_a,r_b);t=gcd(d_a,d_b);g=gcd(r,t);r=r/g;t=t/g;if(t==1){printf("%I64d\n",r);}else{printf("%I64d/%I64d\n",r,t);}}return1;}这个题虽然是求最小周期,但实质也是求最小公倍数。只不多上述输入的是一个分数,是求分数的最小公倍数。怎样求分数的最小公倍数,这是一个难点,所以这题难度比较高。我是百度出来的,但是它给的代码看了好长时间还是不太清楚,只知道这是求分数的最小公倍数的问题。代码中的int64现在还不知道是什么意思,但又不想错过,所以还是把它给写出来了。