这题多输出了一个空格,卡了半天。。。

leetcode刷多了,后遗症

这题可以用scanf("%lld/%lld"),直接读入,不过我用了stoll,也就是stoi,string to int ,把string转int

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e6+10; void getNum(long long& s,long long& f,string num) {
long long i=0;
for (auto c:num) {
if (c=='/') {
break;
}
i++;
}
string pre=num.substr(0,i);
string suf=num.substr(i+1);
s=stoll(pre);
f=stoll(suf);
// cout<<s<<endl<<f<<endl;
} long long gcd(long long a,long long b) {
return a%b==0?b:gcd(b,a%b);
} void toEasy(long long& s,long long& f) {
long long g=abs(gcd(s,f));
s/=g;
f/=g;
} int main() {
// freopen("in.txt","r",stdin);
long long n;
cin>>n;
cin.get();
string line;
getline(cin,line);
stringstream ss(line);
string num;
long long s1=0,f1=1,s2,f2;
while (ss>>num) {
getNum(s2,f2,num);
s1*=f2;
s2*=f1;
s1+=s2;
f1*=f2;
toEasy(s1,f1);
}
toEasy(s1,f1);
long long pre=s1/f1;
s1%=f1;
if (pre) {
cout<<pre;
}
if (pre&&s1) {
cout<<" ";
}
//¶àÁËÒ»¸ö¿Õ¸ñ¾Í»á´í
if (pre==0&&s1<0) {
cout<<"-";
}
if (s1) {
printf("%d/%d",abs(s1),f1);
}
if (pre==0&&s1==0) {
printf("0");
}
printf("\n");
return 0;
}
/*
1
1/2 1/2 1/2 1/2
3
-1/2 -1/2 -1/2
*/

N个数求和(PTA)的更多相关文章

  1. 暴力+辗转相除法——N个数求和

    题目来源 PTA 团体程序设计天梯赛-练习集 L1-009 N个数求和 (20分) https://pintia.cn/problem-sets/994805046380707840/problems ...

  2. 团体程序设计天梯赛-练习集L1-009. *N个数求和

    L1-009. N个数求和 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 本题的要求很简单,就是求N个数字的和.麻烦的是,这些 ...

  3. #020PAT 没整明白的题L1-009 N个数求和 (20 分)

    后面的测试点过不去,两个错误一个超时. 目前未解决   L1-009 N个数求和 (20 分)   本题的要求很简单,就是求N个数字的和.麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和 ...

  4. Java:多个数求和

    设计思想: 先定义int n,定义输入数的个数,输入一个新建的动态数组,输入数字存入动态数组中,函数转换并求和,最后输出. 程序流程图: 源程序代码: package com; import java ...

  5. 题目--统计一行文本的单词个数(PTA预习题)

    PTA预习题——统计一行文本的单词个数 7-1 统计一行文本的单词个数 (15 分) 本题目要求编写程序统计一行字符中单词的个数.所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以 ...

  6. 天梯赛 L1-009 N个数求和 (模拟)

    本题的要求很简单,就是求N个数字的和.麻烦的是,这些数字是以有理数"分子/分母"的形式给出的,你输出的和也必须是有理数的形式. 输入格式: 输入第一行给出一个正整数N(<=1 ...

  7. c++---天梯赛---N个数求和

    ★题目: ★难点:要求只能以有理数和分数去输出结果. ★分析:可以对输入的数据进行通分处理,随后把结果按格式输出. ★代码: #include<iostream> #include< ...

  8. 约数个数求和+线性筛约数——bzoj3994

    这题首先要会线性筛约数个数,并求出前缀和 bool vis[maxn]; int mm,mu[maxn],prime[maxn],num[maxn],sum[maxn],d[maxn],sum1[ma ...

  9. L1-009. N个数求和

    https://www.patest.cn/contests/gplt/L1-009 原来写的找了好久还是有一个测试点没过, 虽说是道水题,但是今天一遍就过了还是挺高兴的. 送你机组数据 52/5 4 ...

随机推荐

  1. mybatis(五):源码分析 - 获取boundsql流程

  2. samba搭建共享目录

    centos 中使用docker 运行samba docker pull dperson/samba 运行一下命令 docker run -it -p 139:139 -p 445:445 --nam ...

  3. C# 元组和值元组

    C# 7.0已经出来一段时间了,大家都知道新特性里面有个对元组的优化:ValueTuple.这里利用详尽的例子详解Tuple VS ValueTuple(元组类VS值元组),10分钟让你更了解Valu ...

  4. 解决 jmeter 压测Non HTTP response code: java.net.NoRouteToHostException/Non HTTP response message: Cannot assign requested address (Address not available)

    针对centos : 先检查下tcp  port  range 在合理范围内: cat  /proc/sys/net/ipv4/ip_local_port_range 1024 65535 上述为ce ...

  5. npx工具

    参考文章:阮一峰的网络日志 - npx 使用教程 npx的作用 1.调用项目模块 即node_modules目录下的模块,而不用加上相对路径 $ npx mocha --version 原本应该是这样 ...

  6. POJ3273 Monthly Expense (二分最小化花费)

    链接:http://poj.org/problem?id=3273 题意:FJ想把n天分成m组,每组是连续的,同一组的花费加起来算,求所分组情况中最高花费的最低值 思路:二分答案.二分整数范围内的花费 ...

  7. Oracle 11g安装 —— Oracle Database 11g Release2 for Windows(x64)

    文章来自:https://blog.csdn.net/IT_xiao_guang_guang/article/details/104422421 下面是我的Oracle 11g安装过程,希望可以帮到正 ...

  8. opencv3.3 基础:Mat类里setTo函数

    Mat& setTo(InputArray value, InputArray mask=noArray()); 说明: 1.功能:把矩阵mask中元素不为0的点全部变为value值: 2.当 ...

  9. HTML的创建

    创建一个HTML 直到产生scr文件之前的创建和原来建Java项目一样. 把scr文件Delete. 创建HTML File 4. 设置浏览器(我用的是搜狗浏览器,所以先找到搜狗的exe文件位置,导入 ...

  10. html 未选择复选框不上传

    问题 之前就遇到类似的问题,在一个列表中,如果有复选框,并且不选中 会导致这个复选框不上传,导致后台接收不到复选框数据 解决方法我想到的就是 <td> <input type=&qu ...