本篇通过实现L1-009 N个数求和,提升了对有理数分数加法、最大公约数化简的操作能力。我们通过累加和...
-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 此题代码如下: from fractions import Fraction N = int(input...
输入第一行给出一个正整数N(<=100)。随后一行按格式“a1/b1 a2/b2 ...”给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。 输出格式: 输出上述数字和的最简形式 —— 即将结果写成“整数部分 分数部分”,其中分数部分写成“分子/分母”,要求分子小于分母,且它们...
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"...
PTA 天梯赛 L1-009 N个数求和 分析:先根据分数加法的公式累加,后分离出整数部分和分数部分。 分子和分母都在长整型内,所以不能用int存储,否则有一个测试点不通过。 一开始一直是浮点错误,按理来说应该是出现了/0或者%0的情况,找了半天也不知道错在哪里。
t = n+1 for i in range(t): oStr = str(i) if i == 0: Strs = oStr + '+' elif i < n: Strs += oStr + '+' else: Strs += oStr elsedef Print_Plus(n): t = n+1 for i in range(t): oStr = str(i) if i == 0: Strs = oStr + '+' elif i < n...
N个分数求和,emmmm…几个注意点: (1)用两个数组分别存放分子和分母,分数和采用通分。 (2)可以用变量s1记录通分后分子之和,变量s2记录分母通分后的值。 (3)问题转化为求最大公约数和最小公倍数。 (4)之后在输出时,要注意将(分子/分母)化到最简形式。... ...
我看了一下你的代码,你是要输入一个分数,然后输出它的最简形式吗,这样可能是少考虑了输入类似0/2这样的了,改一下看看行不行
L1-009 N个数求和 (20 分)Go语言|Golang 本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。 输入格式: 输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 ...给出N个有理数。题目保证所有分子和分母都在长...
输入在一行中给出一个正整数 N(1<N<231)。 输出格式: 首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1因子2……*因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。 输入样例: 630 输出样例: 3 567