求助大佬,WA了两个点找不到错
  • 板块P1572 计算分数
  • 楼主bcku1
  • 当前回复1
  • 已保存回复1
  • 发布时间2020/9/23 21:06
  • 上次更新2023/11/5 12:43:35
查看原帖
求助大佬,WA了两个点找不到错
19980
bcku1楼主2020/9/23 21:06
#include<bits/stdc++.h>
using namespace std;
int a,b,c[10005],d[10005],cnt,ans,G,sum;
int gcd(int x,int y){
	if(y==0) return x;
	return gcd(y,x%y);
}
int lcm(int x,int y){
	return x*y/gcd(x,y);
}
int main(){
	int last=1;
	while(scanf("%d/%d",&a,&b)!=EOF){
		c[++cnt]=a; d[cnt]=b;
		if(b<0) {
			c[cnt]=-a;
			d[cnt]=-b;
		}
		if(last==1) G=b,last=0;
		else {
			G=lcm(G,b);
		}
	}
	for(int i=1;i<=cnt;i++){
		sum+=(G/d[i])*c[i];
	}
	while(gcd(sum,G)!=1){
		int num=gcd(sum,G);
		sum/=num;
		G/=num;
	}
	if(G==1) cout<<sum;
	else 
	cout<<sum<<"/"<<G;
	return 0;
}
2020/9/23 21:06
加载中...