• [模拟] P1572 计算分数


    输入内容非常有规律

    且EOF停止

    所以循环读入整形与符形

    读题 数据范围合适

    所以懒

    计算过程不约分

    最后判正负约分

    lazy算法??

    //#pragma GCC optimize(2)
    #include <cstdio>
    #include <iostream>
    #include <cstdlib>
    #include <cmath>
    #include <cctype>
    #include <string>
    #include <cstring>
    #include <algorithm>
    #include <stack>
    #include <queue>
    #include <set>
    #include <map>
    #include <ctime>
    #include <vector>
    #include <fstream>
    #include <list>
    #include <iomanip>
    #include <numeric>
    using namespace std;
    typedef long long ll;
    
    const int MAXN = 1e6 + 10;
    
    ll gcd(ll a, ll  b)
    {
        return b == 0 ? a : gcd(b, a % b);
    }
    
    int main()
    {
        //ios::sync_with_stdio(false);
    
        //cin.tie(0);     cout.tie(0);
    
        char t, oprt;
    
        ll a, b, ansa, ansb, llt;
    
        cin>>ansa>>t>>ansb;
    
        while(cin>>oprt>>a>>t>>b)
        {
            if(b != ansb)
            {
                llt = ansb;
                ansb *= b;
                ansa *= b;
                b *= llt;
                a *= llt;  
            }
    
            if(oprt == '+')
                ansa += a;
            else
                ansa -= a;
        }
    
        llt = gcd(ansa, ansb);
        
        ansa /= llt;
        
        ansb /= llt;
        
        int mode = 0;
        
        if(ansa < 0)
        	mode ++;
        if(ansb < 0)
        	mode ++; 
        
    	if(mode == 1)
    		cout<<'-'; 
    
        ansb == 1 ? cout<<abs(ansa)<<endl : cout<<abs(ansa)<<'/'<<abs(ansb)<<endl;
    
        return 0;
    }
    
  • 相关阅读:
    网页制作--标签,表格,表单,框架
    sql数据库小结
    数据库的触发器
    数据库的复制与附加
    sql数据库随笔
    Web窗体--控件
    练习--学生信息录入
    HTML常用数据类型
    javascript-表单验证
    javasc-正则表达式
  • 原文地址:https://www.cnblogs.com/zeolim/p/12270462.html
Copyright © 2020-2023  润新知