分数的运算表达

来源:互联网 发布:剑灵天女完美身材数据 编辑:程序博客网 时间:2024/04/29 11:02

题意:给出n个分数,求和,如果和大于1输出整数部分和分数部分

代码:

#include<bits/stdc++.h>using namespace std;typedef long long LL;struct node{    LL x;    LL y;} s[1005];int main(){    int n;    scanf("%d",&n);    for(int i=0; i<n; i++)        scanf("%lld/%lld",&s[i].x,&s[i].y);    LL up=s[0].x;    LL down=s[0].y;    for(int i=1; i<n; i++)    {        LL DOWN = down*s[i].y;//求分母        LL UP = up * s[i].y+down*s[i].x;//求分子        LL d=__gcd(UP,DOWN);//求最大公约数,进行约分        up=UP/d;        down=DOWN/d;    }    if(up%down==0)        printf("%lld",up/down);    else if(up<down)        printf("%lld/%lld",up,down);    else        printf("%lld %lld/%lld",up/down,up%down,down);}


0 0
原创粉丝点击