news 2026/7/14 18:35:36

GESP认证C++编程真题解析 | B3925 [GESP202312 三级] 小猫分鱼

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP认证C++编程真题解析 | B3925 [GESP202312 三级] 小猫分鱼

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总帖:GESP认证C++编程真题解析 | 汇总


【题目来源】

洛谷:[B3925 GESP202312 三级] 小猫分鱼 - 洛谷

【题目描述】

海滩上有一堆鱼,N NN只小猫来分。第一只小猫把这堆鱼平均分为N NN份,多了i < N i<Ni<N个,这只小猫把多的i ii个扔入海中,拿走了一份。第二只小猫接着把剩下的鱼平均分成N NN份,又多了i ii个,小猫同样把多的i ii个扔入海中,拿走了一份。第三、第四、……,第N NN只小猫仍是最终剩下的鱼分成N NN份,扔掉多了的i ii个,并拿走一份。

编写程序,输入小猫的数量N NN以及每次扔到海里的鱼的数量i ii,输出海滩上最少的鱼数,使得每只小猫都可吃到鱼。

例如:两只小猫来分鱼N = 2 N=2N=2,每次扔掉鱼的数量为i = 1 i=1i=1,为了每只小猫都可吃到鱼,可令第二只小猫需要拿走1 11条鱼,则此时待分配的有3 33条鱼。第一只小猫待分配的鱼有3 × 2 + 1 = 7 3\times 2+1=73×2+1=7条。

【输入】

总共2 22行。第一行一个整数N NN,第二行一个整数i ii

保证0 < N < 10 0<N<100<N<10i < N i<Ni<N

【输出】

一行一个整数,表示满足要求的海滩上最少的鱼数。

【输入样例】

2 1

【输出样例】

7

【算法标签】

《洛谷 B3925 小猫分鱼》 #GESP# #2023#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;intn,i;// n: 总人数, i: 最后一个人的编号/** * 检查给定的s(分给第一个人的数量)是否有效 * 并计算最后剩下的人数 * @param s 分给第一个人的数量 * @return 如果有效返回最后人数,否则返回0 */intcheck(ints){// 第一次分配后剩下的人数intk=s*n+i;// 模拟n-1次分配(因为第一次已经分配了)for(intx=2;x<=n;x++){// 检查是否能被n-1整除if(k%(n-1)!=0){return0;// 不能整除,无效}// 更新k为下一次分配前的人数k=k/(n-1)*n+i;}// 返回最后剩下的人数returnk;}intmain(){// 输入总人数n和最后一个人的编号icin>>n>>i;// 特殊情况:n=1if(n==1){cout<<1<<endl;// 只有一个人,分给自己return0;}// 从s=1开始尝试ints=1;while(true){intans=check(s);if(ans>0)// 找到有效解{cout<<ans<<endl;break;}s++;// 尝试下一个s}return0;}

【运行结果】

2 1 7
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/15 3:02:25

iOS动画革命:lottie-ios库的终极使用指南

iOS动画革命&#xff1a;lottie-ios库的终极使用指南 【免费下载链接】lottie-ios airbnb/lottie-ios: Lottie-ios 是一个用于 iOS 平台的动画库&#xff0c;可以将 Adobe After Effects 动画导出成 iOS 应用程序&#xff0c;具有高性能&#xff0c;易用性和扩展性强的特点。 …

作者头像 李华
网站建设 2026/7/8 20:18:23

数据验证新利器:5个步骤让Great Expectations帮你告别数据质量问题

在当今数据驱动的时代&#xff0c;数据质量问题已经成为企业决策和业务运营中的"严重隐患"。从用户注册信息的格式错误到交易数据的异常波动&#xff0c;这些问题往往在造成严重后果后才被发现。Great Expectations作为一款开源的数据验证工具&#xff0c;通过简单易…

作者头像 李华
网站建设 2026/7/13 11:42:18

OpenCode完整指南:重新定义AI编程助手的工作方式

OpenCode完整指南&#xff1a;重新定义AI编程助手的工作方式 【免费下载链接】opencode 一个专为终端打造的开源AI编程助手&#xff0c;模型灵活可选&#xff0c;可远程驱动。 项目地址: https://gitcode.com/GitHub_Trending/openc/opencode 你是否曾经在深夜调试代码时…

作者头像 李华
网站建设 2026/7/13 4:27:16

终极指南:Unity中简单易用的有限状态机框架

终极指南&#xff1a;Unity中简单易用的有限状态机框架 【免费下载链接】Unity3d-Finite-State-Machine An intuitive Unity3d finite state machine (FSM). Designed with an emphasis on usability, without sacrificing utility. 项目地址: https://gitcode.com/gh_mirror…

作者头像 李华
网站建设 2026/7/14 6:33:22

yaml-cpp实战指南:从零开始掌握YAML解析与生成

yaml-cpp实战指南&#xff1a;从零开始掌握YAML解析与生成 【免费下载链接】yaml-cpp A YAML parser and emitter in C 项目地址: https://gitcode.com/gh_mirrors/ya/yaml-cpp yaml-cpp是一个专为C开发者设计的开源库&#xff0c;能够高效解析和生成YAML格式数据。YAML…

作者头像 李华
网站建设 2026/7/13 6:36:55

AR.js:开启浏览器增强现实新纪元

AR.js&#xff1a;开启浏览器增强现实新纪元 【免费下载链接】AR.js Efficient Augmented Reality for the Web - 60fps on mobile! 项目地址: https://gitcode.com/gh_mirrors/ar/AR.js 你是否曾梦想过&#xff0c;仅凭手机浏览器就能将虚拟世界与现实环境完美融合&…

作者头像 李华