分数求和ᅟᅠ        ‌‍‎‏

分数求和

      • C语言代码
      • C++ 代码
      • Java代码
      • Python代码


💐The Begin💐点点关注,收藏不迷路💐

输入n个分数并对他们求和,并用最简形式表示。所谓最简形式是指:分子分母的最大公约数为1;若最终结果的分母为1,则直接用整数表示。

如:5/6、10/3均是最简形式,而3/6需要化简为1/2, 3/1需要化简为3。

分子和分母均不为0,也不为负数。

输入

第一行是一个整数n,表示分数个数,1 <= n <= 10;
接下来n行,每行一个分数,用"p/q"的形式表示,不含空格,p,q均不超过10。

输出

输出只有一行,即最终结果的最简形式。若为分数,用"p/q"的形式表示。
样例输入

2
1/2
1/3

样例输出

5/6

以下是使用C、C++、Java、Python实现输入多个分数并求和,输出最简形式的代码:

C语言代码

#include <stdio.h>
#include <stdlib.h>

// 求最大公约数的函数
int gcd(int a, int b) {
return b == 0? a : gcd(b, a % b);
}

int main() {int n;scanf("%d", &n);  // 输入分数的个数nint sum_numerator = 0, sum_denominator = 1;for (int i = 0; i < n; i++) {int numerator, denominator;scanf("%d/%d", &numerator, &denominator);  // 输入分子和分母sum_numerator = sum_numerator * denominator + numerator * sum_denominator;sum_denominator *= denominator;  // 通分后进行分子相加,分母相乘}int common_divisor = gcd(sum_numerator, sum_denominator);  // 求最大公约数sum_numerator /= common_divisor;sum_denominator /= common_divisor;  // 化简if (sum_denominator == 1) {printf("%d", sum_numerator);  // 分母为1,直接输出整数形式} else {printf("%d/%d", sum_numerator, sum_denominator);  // 输出分数形式}return 0;
}

C++ 代码

#include <iostream>
using namespace std;

// 求最大公约数函数
int gcd(int a, int b) {
return b == 0? a : gcd(b, a % b);
}

int main() {int n;cin >> n;  // 输入分数个数nint sum_numerator = 0, sum_denominator = 1;for (int i = 0; i < n; i++) {int numerator, denominator;char slash;  // 用于接收输入中表示分数的斜杠字符,虽然这里没实际用到它的值,但可以用来正确处理输入格式cin >> numerator >> slash >> denominator;  // 先读分子,再读斜杠(会自动跳过),然后读分母sum_numerator = sum_numerator * denominator + numerator * sum_denominator;sum_denominator *= denominator;  // 通分后计算分子和分母}int common_divisor = gcd(sum_numerator, sum_denominator);  // 求最大公约数sum_numerator /= common_divisor;sum_denominator /= common_divisor;  // 化简if (sum_denominator == 1) {cout << sum_numerator;  // 分母为1输出整数形式} else {cout << sum_numerator << "/" << sum_denominator;  // 输出分数形式}return 0;
}

Java代码

import java.util.Scanner;

public class Main {
// 求最大公约数的方法
static int gcd(int a, int b) {
return b == 0? a : gcd(b, a % b);
}

public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();  // 读取分数个数nint sum_numerator = 0, sum_denominator = 1;for (int i = 0; i < n; i++) {String fraction = scanner.next();int index = fraction.indexOf('/');int numerator = Integer.parseInt(fraction.substring(0, index));int denominator = Integer.parseInt(fraction.substring(index + 1));// 通分后计算分子和分母sum_numerator = sum_numerator * denominator + numerator * sum_denominator;sum_denominator *= denominator;}int common_divisor = gcd(sum_numerator, sum_denominator);  // 求最大公约数sum_numerator /= common_divisor;sum_denominator /= common_divisor;  // 化简if (sum_denominator == 1) {System.out.println(sum_numerator);  // 分母为1输出整数形式} else {System.out.println(sum_numerator + "/" + sum_denominator);  // 输出分数形式}
}

}

Python代码

from math import gcdn = int(input())  # 获取分数个数n
sum_numerator = 0
sum_denominator = 1
for _ in range(n):fraction = input().split('/')  # 分割输入的分数为分子分母numerator = int(fraction[0])denominator = int(fraction[1])sum_numerator = sum_numerator * denominator + numerator * sum_denominatorsum_denominator *= denominator  # 通分计算分子分母
common_divisor = gcd(sum_numerator, sum_denominator)  # 求最大公约数
sum_numerator //= common_divisor
sum_denominator //= common_divisor  # 化简
if sum_denominator == 1:print(sum_numerator)  # 分母为1输出整数形式
else:print(f"{sum_numerator}/{sum_denominator}")  # 输出分数形式

在这里插入图片描述


💐The End💐点点关注,收藏不迷路💐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/63682.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【经典论文阅读】Latent Diffusion Models(LDM)

Latent Diffusion Models High-Resolution Image Synthesis with Latent Diffusion Models 摘要 动机&#xff1a;在有限的计算资源下进行扩散模型训练&#xff0c;同时保持质量和灵活性 引入跨注意力层&#xff0c;以卷积方式实现对一般条件输入&#xff08;如文本或边界框…

交换瓶子(图论 贪心)

1224. 交换瓶子 - AcWing题库 把每一个瓶子看成一个点&#xff0c;从每个瓶子向他应该在的那个位置的瓶子连一条边 通过这个方式&#xff0c;我们就可以连出n条边 观察可以发现这些图有特点&#xff1a; n个点 连成n条边 因为每个点会指向它应该在的位置的那个点&#xff…

汽车免拆案例 | 2007款宝马650i车发动机偶尔无法起动

故障现象 一辆2007款宝马650i车&#xff0c;搭载N62B48B发动机&#xff0c;累计行驶里程约为26万km。车主反映&#xff0c;发动机偶尔无法起动&#xff0c;故障频率较低&#xff0c;十几天出现1 次&#xff0c;且故障出现时起动机不工作。 故障诊断  接车后试车&#xff0c;…

厦门凯酷全科技有限公司怎么样?

随着短视频和直播带货的兴起&#xff0c;抖音电商平台迅速崛起&#xff0c;成为众多品牌和商家争夺的新战场。在这个竞争激烈的市场中&#xff0c;如何抓住机遇、实现销售增长&#xff0c;成为了每个企业面临的挑战。厦门凯酷全科技有限公司&#xff08;以下简称“凯酷全”&…

「Mac玩转仓颉内测版49」小学奥数篇12 - 图形变换与坐标计算

本篇将通过 Python 和 Cangjie 双语实现图形变换与坐标计算。这个题目帮助学生理解平面几何中的旋转、平移和对称变换&#xff0c;并学会用编程实现坐标变化。 关键词 小学奥数Python Cangjie图形变换坐标计算 一、题目描述 编写一个程序&#xff0c;模拟以下三种图形变换&a…

MBTI 16人格分析

文章目录 一、MBTI介绍二、十六种MBTI人格1.ESTJ&#xff1a;总经理2.ENTP&#xff1a;辩论家3.INTP&#xff1a;逻辑学家4.ISFJ&#xff1a;守卫者 三、4组人格分析1.E与I2.S与N3.T与F4.P与J 一、MBTI介绍 MBTI是一种人格类型理论模型。全称是“Myers-Briggs Type Indicator”…

2024 X-GAME 上海智能新能源汽车大数据竞赛决赛顺利举行,和鲸Heywhale连续五年助推新能源汽车产业发展

11月22日&#xff0c;第七届 X-GAME 上海智能新能源汽车大数据竞赛圆满落幕&#xff01;这是和鲸作为协办方第五年为 X-GAME 新能源汽车分析赛道提供全程支持&#xff0c;赋能新能源汽车的产业发展。自 2018 年首次举办以来&#xff0c;以“数联万物&#xff0c;车载未来”为主…

书生实战营第四期-进阶岛第六关-MindSearch 快速部署

一、开发环境配置 1、打开codespace主页&#xff0c;选择Blank模板进行创建 Codespaces 2、创建conda环境隔离并安装依赖 conda create -n mindsearch python3.10 -y conda init 因为是新建的codespace&#xff0c;在第一次创建conda环境时&#xff0c;需要conda init 然后再…

开发类似的同款小程序系统制作流程

很多老板想要开发一款和别人家类似的同款小程序系统&#xff0c;但是不知道该怎么开发制作&#xff0c;本文就为大家详细介绍一下开发类似的同款小程序的流程为大家做参考。 一、前期准备找到对标小程序&#xff1a;首先&#xff0c;需要找到你想要模仿的同款小程序&#xff0…

《操作系统 - 清华大学》6 -7:局部页面置换算法:Belady现象

文章目录 1. 定义2. LRU、FIFO和Clock的比较 1. 定义 局部页面置换算法的特点是针对一个正在运行的程序&#xff0c;它访问内存的情况&#xff0c;访问页的情况&#xff0c;来决定应该采取什么样策略&#xff0c;把相应的页替换出去&#xff0c;站在算法本身角度来考虑置换哪个…

Spring Boot 3 中Bean的配置和实例化详解

一、引言 在Java企业级开发领域&#xff0c;Spring Boot凭借其简洁、快速、高效的特点&#xff0c;迅速成为了众多开发者的首选框架。Spring Boot通过自动配置、起步依赖等特性&#xff0c;极大地简化了Spring应用的搭建和开发过程。而在Spring Boot的众多核心特性中&#xff…

maven报错“找不到符号“

问题 springboot项目 maven编译打包过程&#xff0c;报错"找不到符号" 解决 很多网上方法都试过&#xff0c;都没用 换jdk&#xff0c;把17->21

UnityShaderLab-实现溶解效果

实现思路&#xff1a; 使用一张噪声图&#xff0c;与一个Cut值计算&#xff08;加或减&#xff09;&#xff0c;将计算后的值赋值给Alpha,然后小于0的片段就被丢弃掉了。 ShaderGraph实现&#xff1a; ShaderLab实现&#xff1a; 效果&#xff1a; 未完待续。。。 参考链接…

分布式 令牌桶算法 总结

前言 相关系列 《分布式 & 目录》《分布式 & 令牌桶算法 & 总结》《分布式 & 令牌桶算法 & 问题》 参考文献 《【算法】令牌桶算法》 概述 简介 TBA Token Bucket Algorithm 令牌桶算法是一种流行于网络通信领域的流量控制/频率限制算法。令牌…

【JavaEE初阶】CSS

&#x1f384;CSS是什么&#xff1f; 层叠样式表 (Cascading Style Sheets). CSS 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果. 能够做到页面的样式和结构分离. 用来美化HTML所写的界面&#xff0c;就如同化妆一样 &#x1f340;CSS基础语法规范 选…

【计网】HTTP协议详解

&#x1f30e;应用层协议Http 文章目录&#xff1a; 应用层协议Http 认识HTTP协议       认识URL Http协议请求与响应格式       HTTP Request       HTTP Response       HTTP常见Header       URI资源以及网页跳转原因 HTTP其他属性字段   …

Android上运行OpenCV(Android Studio)

用Android Studio的话&#xff0c;整体来说没什么难的&#xff0c;照着教程来做就好了。 【OpenCV】OpenCV库的安装 - Android与OpenCV系列教程_哔哩哔哩_bilibili 主要就是导入module&#xff0c;然后加入依赖。代码只有几行。 if(OpenCVLoader.initLocal()){Toast.makeText(…

openWebUI+ollamawindows+不用docker+webLite本地安装

openWebUI & ollama & windows & 不用docker & webLite 本地安装 总结一下安装教程 10核CPU16G内存 两个web框架都可以&#xff0c;先说简单的 ollama-webui-lite(https://github.com/ollama-webui/ollama-webui-lite) 轻量级&#xff0c;只使用nodejs 先装…

Linux下进程替换exec系列接口

文章目录 Linux下进程替换1. c库exec函数族一、exec函数族简介二、exec函数族函数原型及参数说明三、exec函数族的工作机制四、注意事项五、示例代码 2. 系统调用execve接口一、execve接口与C库exec函数族的关系二、函数原型三、参数说明四、工作原理五、返回值六、注意事项七、…

【一本通】质因数分解

【一本通】质因数分解 C语言实现C 语言实现Java语言实现Python语言实现 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 已知正整数n 是两个不同的质数的乘积&#xff0c;试求出较大的那个质数。 输入 输入只有一行&#xff0c;包含一个正…