[保研/考研机试] KY35 最简真分数 北京大学复试上机题 C++实现

题目链接:

最简真分数icon-default.png?t=N6B9https://www.nowcoder.com/share/jump/437195121691719749588

描述

给出n个正整数,任取两个数分别作为分子和分母组成最简真分数,编程求共有几个这样的组合。

输入描述:

每组包含n(n<=600)和n个不同的整数,整数大于1且小于等于1000。

输出描述:

每行输出最简真分数组合的个数。

示例1

输入:

7 3 5 7 9 11 13 15 3 2 4 5 0

输出:

17 2

源代码:

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;// 辗转相除法求最大公约数
int GCD(int a, int b) {if (b == 0) {return a;}else {return GCD(b, a % b);}
}int main() {int n;while (cin >> n) {if (n == 0) {break; // 输入为0时结束}vector<int> nums; // 存储输入的整数int res = 0; // 存储最简真分数的数量for (int i = 0; i < n; i++) {int temp;cin >> temp;nums.push_back(temp);}sort(nums.begin(), nums.end()); // 对输入的整数进行排序for (int i = 0; i < n; i++) {for (int j = i + 1; j < nums.size(); j++) {if (GCD(nums[i], nums[j]) == 1) {res++; // 若最大公约数为1,则说明是最简真分数,计数加1}}}cout << res << endl; // 输出最简真分数的数量}return 0;
}

思路:

  1. 读入整数 n,代表接下来有 n 个整数。

  2. 使用一个 vector 存储这 n 个整数。

  3. 对 vector 中的整数进行排序,方便后面的计算。

  4. 使用两层循环遍历所有的数对 (nums[i], nums[j]),其中 i < j。

  5. 对每对数分别计算最大公约数,如果最大公约数为 1,则说明这是一个最简真分数,将计数器 res 增加 1。

  6. 输出最终的 res 值,即最简真分数的数量。

提交结果:

编辑切换为居中

添加图片注释,不超过 140 字(可选)

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

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

相关文章

Spring BeanPostProcessor 接口的作用和使用

BeanPostProcessor 接口是 Spring 框架中的一个扩展接口&#xff0c;用于在 Spring 容器实例化、配置和初始化 bean 的过程中提供自定义的扩展点。通过实现这个接口&#xff0c;您可以在 bean 实例创建的不同生命周期阶段插入自己的逻辑&#xff0c;从而实现对 bean 行为的定制…

Spring Boot 集成 XXL-JOB 任务调度平台

一、下载xxl-job并使用。 二、将xxl-job集成到springboot里 一、 下载xxl-job并使用。 这一步没完成的请参考这个博客&#xff1a;http://t.csdn.cn/lsp4r 二、将xxl-job集成到springboot里 1、引入依赖 <dependency><groupId>org.springframework.boot</group…

logstash日志换行处理小解

logstash主用于日志实时数据收集、解析&#xff0c;并将数据转发的工具&#xff0c;内置的功能也相当强大。但&#xff0c;同时意味着&#xff0c;他可能接收到各种情况的数据。 此处&#xff0c;我们主要讲解我实际使用中&#xff0c;碰到的一个小问题&#xff0c;换行(\n)。…

仿到位|独立版家政上门预约服务小程序家政保洁师傅上门服务小程序上门服务在线派单源码

上门预约服务派单小程序家政 小程序 同城预约 开源代码 独立版. 程序完整,经过安装检测,可放心下载安装。 适合本地的一款上门预约服务小程序,功能丰富,适用多种场景。 程序功能:城市管理/小程序DIY/服务订单/师傅管理/会员卡功能/营销功能/文章功能等等

C# WPF 开源主题 HandyControl 的使用(一)

HandyControl是一套WPF控件库&#xff0c;它几乎重写了所有原生样式&#xff0c;同时包含80余款自定义控件&#xff08;正逐步增加&#xff09;&#xff0c;下面我们开始使用。 1、准备 1.1 创建项目 C# WPF应用(.NET Framework)创建项目 1.2 添加包 1.3 在App.xaml中引用…

Ajax-概念、Http协议、Ajax请求及其常见问题

Ajax Ajax概念Ajax优缺点HTTP协议请求报文响应报文 Ajax案例准备工作express基本使用创建一个服务器 发送AJAX请求GET请求POST请求JSON响应 Ajax请求出现的问题IE缓存问题Ajax请求超时与网络异常处理Ajax手动取消请求Ajax重复发送请求问题 Ajax概念 AJAX 全称为Asynchronous J…

IDEA项目实践——JavaWeb简介以及Servlet编程实战

系列文章目录 IDEA项目实践——创建Java项目以及创建Maven项目案例、使用数据库连接池创建项目简介 IDEWA项目实践——mybatis的一些基本原理以及案例 IDEA项目实践——动态SQL、关系映射、注解开发 IDEA项目实践——Spring框架简介,以及IOC注解 IDEA项目实践——Spring当…

【学会动态规划】买卖股票的最佳时机 IV(18)

目录 动态规划怎么学&#xff1f; 1. 题目解析 2. 算法原理 1. 状态表示 2. 状态转移方程 3. 初始化 4. 填表顺序 5. 返回值 3. 代码编写 写在最后&#xff1a; 动态规划怎么学&#xff1f; 学习一个算法没有捷径&#xff0c;更何况是学习动态规划&#xff0c; 跟我…

2023年03月 C/C++(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题&#xff1a;字符长方形 给定一个字符&#xff0c;用它构造一个长为4个字符&#xff0c;宽为3个字符的长方形&#xff0c;可以参考样例输出。 时间限制&#xff1a;1000 内存限制&#xff1a;65536 输入 输入只有一行&#xff0c; 包含一个字符。 输出 该字符构成的长方形…

【Java】ThreadLocal详细解析

ThreadLocal全面解析 前置知识 具有一定的javase和javaweb基础熟悉synchronized关键字熟悉HashMap熟悉 JDBC技术 学习目标 了解ThreadLocal的介绍掌握ThreadLocal的运用场景了解ThreadLocal的内部结构了解ThreadLocal的核心方法源码了解ThreadLocalMap的源码 1. ThreadLoc…

图分类,图机器学习最新进展

图分类&#xff0c;图机器学习最新进展 1.Flat_Pooling TitleVenueTaskCodeDatasetDMLAP: Multi-level attention pooling for graph neural networks: Unifying graph representations with multiple localitiesNeural Networks 20221. Graph ClassificationNonesynthetic, …

7-8 计算存款利息

本题目要求计算存款利息&#xff0c;计算公式为interestmoney(1rate)year−money&#xff0c;其中interest为存款到期时的利息&#xff08;税前&#xff09;&#xff0c;money是存款金额&#xff0c;year是存期&#xff0c;rate是年利率。 输入格式&#xff1a; 输入在一行中…