P1572 计算分数

模拟+字符串

注意有两位数的情况以及负数情况

#include<bits/stdc++.h>

using namespace std;

string s;
int a[],b[],tot,kp[]; int gcd(int x,int y) {
return !y?x:gcd(y,x%y);
} int main() {
cin>>s;
int k=;
++tot;
while() {
if(s[k]=='/') break;
if(k==s.length()) break;
a[tot]=a[tot]*+s[k]-'';
k++;
}
for(int i=; i<s.length(); i++) {
if(s[i]=='/') {
int k=i+;
while() {
if(s[k]=='+'||s[k]=='-') break;
if(k==s.length()) break;
b[tot]=b[tot]*+s[k]-'';
k++;
}
}
if(s[i]=='+') kp[tot]=;
if(s[i]=='-') kp[tot]=;
if(s[i]=='+'||s[i]=='-') {
++tot;
int k=i+;
while() {
if(s[k]=='/') break;
if(k==s.length()) break;
a[tot]=a[tot]*+s[k]-'';
k++;
}
}
}
b[]=;
for(int i=; i<=tot; i++)
b[]=(b[]*b[i])/gcd(b[],b[i]);
kp[]=;
for(int i=; i<=tot; i++) {
a[]=a[]+(!kp[i-]?-:)*(a[i]*b[])/b[i];
}
int x=b[]/gcd(a[],b[]),y=a[]/gcd(a[],b[]);
if(x==) printf("%d\n",y);
else if(x==-) printf("-%d\n",y<?-y:y);
else if(x<) printf("%d/%d\n",-y,-x);
else printf("%d/%d\n",a[]/gcd(a[],b[]),b[]/gcd(a[],b[]));
return ;
}

洛谷——P1572 计算分数的更多相关文章

  1. 洛谷 P1572 计算分数

    P1572 计算分数 题目描述 Csh被老妈关在家里做分数计算题,但显然他不愿意坐这么多复杂的计算.况且在家门口还有Xxq在等着他去一起看电影.为了尽快地能去陪Xxq看电影,他把剩下的计算题交给了你, ...

  2. 洛谷P1313 计算系数【快速幂+dp】

    P1313 计算系数 题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别 ...

  3. 洛谷 P1313 计算系数 解题报告

    P1313 计算系数 题目描述 给定一个多项式\((by+ax)^k\),请求出多项式展开后\(x^n*y^m\)项的系数. 输入输出格式 输入格式: 共一行,包含5个整数,分别为\(a,b,k,n, ...

  4. 洛谷P1313 计算系数

    P1313 计算系数 题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别 ...

  5. 洛谷 P1727 计算π

    P1727 计算π 题目背景 <爱与愁的故事第二弹·compute>第一章. 题目描述 中秋至,博饼声铿锵不断.爱与愁大神兴致勃勃地到学校博饼,结果抱回家的只有一秀二举.爱与愁大神十分生气 ...

  6. 洛谷 P1313 计算系数 Label:杨辉三角形 多项式计算

    题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...

  7. 【数论】洛谷P1313计算系数

    题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...

  8. 【洛谷P1313 计算系数】

    题目连接 #include<algorithm> #include<iostream> #include<cstring> #include<cstdio&g ...

  9. [NOIP2011] 洛谷P1313 计算系数

    题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...

随机推荐

  1. 微信公众号H5用户授权

    其实不是很难,总结起来就是: 1.微信公众号管理后台设置redirect_uri. 2.然后发起一个请求去重定向获取code,然后把获取到code之后重定向的URL放在获取code的URL中 3.获取 ...

  2. 常用样式制作思路 自定义按钮~自适应布局~常见bug seajs简记 初学者必知的HTML规范 不容忽略的——CSS规范

    常用样式制作思路   学习常用样式总结参考来自这里 带点文字链接列表利用:before实现 1 <!DOCTYPE html> 2 <html lang="en" ...

  3. jQuery--编辑表格

    表格操作是我们常常遇到的,还记得刚開始学习牛腩新闻公布系统时.跟着视频进行表格的一些基本操作.而对它的原理与概念全然不懂,不过跟着老师的操作而进行操作. 通过这次学习,对表格的操作有了进一步的了解与掌 ...

  4. MongoDB集群——分片

    1. 分片的结构及原理分片集群结构分布: 分片集群主要由三种组件组成:mongos,config server,shard1) MONGOS数据库集群请求的入口,所有的请求都通过mongos进行协调, ...

  5. 20170620_javaweb_小结

    01.session失效的方式 02. session和cookie的区别 03.jsp九大内置对象,意义 以及对应的java类 04.转发和重定向 05.jsp的执行过程 和 生命周期 06.实现s ...

  6. HDU 1299Diophantus of Alexandria

    Diophantus of Alexandria Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java ...

  7. kentico9开始移除的webpart

    https://devnet.kentico.com/articles/fighting-featuritis https://blog.intercom.com/product-strategy-m ...

  8. JavaScript Patterns 2.6 switch Pattern

    Principle • Aligning each case with switch(an exception to the curly braces indentation rule). • Ind ...

  9. 【转】SDK、JDK、JRE、JVM、JDT、CDT等之间的区别与联系 .

    相信大多数java初学者被这些概念搞蒙过,它们之间到底有什么区别,又有什么联系呢?下面我将一一解开大家心中的谜团. 首先,给大家解释一下这些概念: 1.SDK(Software DevelopKit, ...

  10. 51Nod 1301 集合异或和 —— 异或DP

    题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1301 参考博客:https://blog.csdn.net/qq_ ...