N个数求和(PTA)
这题多输出了一个空格,卡了半天。。。
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)的更多相关文章
- 暴力+辗转相除法——N个数求和
题目来源 PTA 团体程序设计天梯赛-练习集 L1-009 N个数求和 (20分) https://pintia.cn/problem-sets/994805046380707840/problems ...
- 团体程序设计天梯赛-练习集L1-009. *N个数求和
L1-009. N个数求和 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 本题的要求很简单,就是求N个数字的和.麻烦的是,这些 ...
- #020PAT 没整明白的题L1-009 N个数求和 (20 分)
后面的测试点过不去,两个错误一个超时. 目前未解决 L1-009 N个数求和 (20 分) 本题的要求很简单,就是求N个数字的和.麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和 ...
- Java:多个数求和
设计思想: 先定义int n,定义输入数的个数,输入一个新建的动态数组,输入数字存入动态数组中,函数转换并求和,最后输出. 程序流程图: 源程序代码: package com; import java ...
- 题目--统计一行文本的单词个数(PTA预习题)
PTA预习题——统计一行文本的单词个数 7-1 统计一行文本的单词个数 (15 分) 本题目要求编写程序统计一行字符中单词的个数.所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以 ...
- 天梯赛 L1-009 N个数求和 (模拟)
本题的要求很简单,就是求N个数字的和.麻烦的是,这些数字是以有理数"分子/分母"的形式给出的,你输出的和也必须是有理数的形式. 输入格式: 输入第一行给出一个正整数N(<=1 ...
- c++---天梯赛---N个数求和
★题目: ★难点:要求只能以有理数和分数去输出结果. ★分析:可以对输入的数据进行通分处理,随后把结果按格式输出. ★代码: #include<iostream> #include< ...
- 约数个数求和+线性筛约数——bzoj3994
这题首先要会线性筛约数个数,并求出前缀和 bool vis[maxn]; int mm,mu[maxn],prime[maxn],num[maxn],sum[maxn],d[maxn],sum1[ma ...
- L1-009. N个数求和
https://www.patest.cn/contests/gplt/L1-009 原来写的找了好久还是有一个测试点没过, 虽说是道水题,但是今天一遍就过了还是挺高兴的. 送你机组数据 52/5 4 ...
随机推荐
- python接口自动化之fiddler使用(二)
1.快捷设置,自定义会话框,查看get和post请求 (1)鼠标放在#后面,右键 (2)选择Customize columns (3)选择Miscellaneous (4)选择RequestMetho ...
- 洛谷P1147 连续自然数和
https://www.luogu.org/problem/P1147 #include<bits/stdc++.h> using namespace std; int main(){ i ...
- normalization, standardization and regularization
Normalization Normalization refers to rescaling real valued numeric attributes into the range 0 and ...
- U盘拷贝目标文件过大无法复制时的解决方法
在cmd下输入:convert U盘符:/fs:ntfs ---> 回车 转换完成后可以看到U盘属性为NTFS了 这时就可以复制大文件到U盘了
- 松软科技web教程:JavaScript HTML DOM 事件监听器
addEventListener() 方法 实例 添加当用户点击按钮时触发的事件监听器: document.getElementById("myBtn").addEventList ...
- js bug
1 加载模块脚本失败:服务器以非JavaScript MIME类型“text/html”响应. 描述:ES6 import Class时路径出错,少一个 / ,添上即可
- LED Decorative Light Supplier Introduction - LED Track Light Products
LED Decorative Light Supplier introduction: LED track light is a track light with LED as the ligh ...
- 百炼OJ - 1007 - DNA排序
题目链接:http://bailian.openjudge.cn/practice/1007 #include<stdio.h> #include<algorithm> usi ...
- codeforces 597 div2 E. Hyakugoku and Ladders(概率dp)
题目链接:https://codeforces.com/contest/1245/problem/E 题意:有一个10x10的网格,左下角是起点,左上角是终点,从起点开始,如图所示蛇形走到终点,每一步 ...
- Redis如果内存满了怎么办?
Redis占用内存大小 我们知道Redis是基于内存的key-value数据库,因为系统的内存大小有限,所以我们在使用Redis的时候可以配置Redis能使用的最大的内存大小. 1.通过配置文件配置 ...