本篇通过实现L1-009 N个数求和,提升了对有理数分数加法、最大公约数化简的操作能力。我们通过累加和...
L1-009 N个数求和 这个题有一个隐含条件,就是比如输入 3 -5/6 -5/6 -5/6 但实际输出的分数永远是正数 输出 -3 1/2 下面代码要点: 1、使用了python中的一个库fractions中的Fraction函数 用于创建一个分数对象 >>>a=Fraction(1,3)>>>b=Fraction(1,2)>>>a+bFraction(5,6)即1/3+1/2=5/6 ...
char ch; int n; cin >> n; for (int i = 0; i < n; i++){ cin >> fraction[i].a >> ch >> fraction[i].b; } Fraction sum = fraction[0]; for (int i = 1; i < n; i++){ sum = calculate(sum,fraction[i]); } //获取整数 ll integer = sum.a / sum.b; bool flag...
1#include <cstdio>2#include <cmath>34typedeflonglongll;5intn;6ll a[105],b[105];7ll p,q,ans;89ll gcd(ll a,ll b){10returnb==0? a : gcd(b,a%b);11}1213intmain(){14while(~scanf("%d",&n)){15ll sump=0,sumq=0,gcdval;16for(inti=0;i<n;i++){17scanf("%lld/%lld"...
L1-009 N个数求和 (20 point(s)) 最大公因数。求公因数用辗转相除法,但是当时忘记部分怎么写了,所以稍微推了推写出了下面这个东西。 ll gcd(lla, llb){ returna%b? gcd(b,a%b) : b; } 但写完之后发现跟辗转相除法的形式不太一样,真正的应该是这样的表示。
PTA 天梯赛 L1-009 N个数求和 分析:先根据分数加法的公式累加,后分离出整数部分和分数部分。 分子和分母都在长整型内,所以不能用int存储,否则有一个测试点不通过。 一开始一直是浮点错误,按理来说应该是出现了/0或者%0的情况,找了半天也不知道错在哪里。
我看了一下你的代码,你是要输入一个分数,然后输出它的最简形式吗,这样可能是少考虑了输入类似0/2这样的了,改一下看看行不行
L1-009 N个数求和 技术标签:天梯赛 N个分数求和,emmmm…几个注意点: (1)用两个数组分别存放分子和分母,分数和采用通分。 (2)可以用变量s1记录通分后分子之和,变量s2记录分母通分后的值。 (3)问题转化为求最大公约数和最小公倍数。 (4)之后在输出时,要注意将(分子/分母)化到最简形式。......
输入在一行中给出一个正整数 N(1<N<231)。 输出格式: 首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1因子2……*因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。 输入样例: 630 输出样例: 3 567
简介:【PTA】 L1-009 N个数求和 (C++) 题目链接:L1-009 N个数求和 题目要求: 本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。 输入格式: 输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 ...给...