news 2026/5/12 8:56:09

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/5/9 4:56:41

Python剪贴板操作终极指南:快速实现跨平台文本复制粘贴

Python剪贴板操作终极指南&#xff1a;快速实现跨平台文本复制粘贴 【免费下载链接】pyperclip Python module for cross-platform clipboard functions. 项目地址: https://gitcode.com/gh_mirrors/py/pyperclip 还在为不同操作系统下的剪贴板操作而烦恼吗&#xff1f;…

作者头像 李华
网站建设 2026/5/10 9:18:32

5步掌握Fcitx Qt5输入法框架:从安装到实战配置

5步掌握Fcitx Qt5输入法框架&#xff1a;从安装到实战配置 【免费下载链接】fcitx-qt5 Fcitx support for Qt5 项目地址: https://gitcode.com/gh_mirrors/fc/fcitx-qt5 想要在Qt5应用中完美集成中文输入法&#xff1f;Fcitx Qt5输入法框架正是您需要的解决方案&#xf…

作者头像 李华
网站建设 2026/5/11 16:10:37

React图标库实战指南:从零开始构建高效图标系统

React图标库实战指南&#xff1a;从零开始构建高效图标系统 【免费下载链接】react-icons svg react icons of popular icon packs 项目地址: https://gitcode.com/gh_mirrors/re/react-icons 在现代React应用开发中&#xff0c;图标作为用户界面的重要组成部分&#xf…

作者头像 李华
网站建设 2026/5/9 4:30:05

123云盘免费解锁完整攻略:5分钟开启全功能VIP体验

123云盘免费解锁完整攻略&#xff1a;5分钟开启全功能VIP体验 【免费下载链接】123pan_unlock 基于油猴的123云盘解锁脚本&#xff0c;支持解锁123云盘下载功能 项目地址: https://gitcode.com/gh_mirrors/12/123pan_unlock 还在为123云盘的各种限制而烦恼吗&#xff1f…

作者头像 李华
网站建设 2026/5/9 1:27:10

MinerU配置完全指南:从零到精通的高效文档处理方案

MinerU配置完全指南&#xff1a;从零到精通的高效文档处理方案 【免费下载链接】MinerU A high-quality tool for convert PDF to Markdown and JSON.一站式开源高质量数据提取工具&#xff0c;将PDF转换成Markdown和JSON格式。 项目地址: https://gitcode.com/GitHub_Trendi…

作者头像 李华
网站建设 2026/5/12 7:18:57

5大技术突破:GLM-Edge端侧AI模型部署实战指南

5大技术突破&#xff1a;GLM-Edge端侧AI模型部署实战指南 【免费下载链接】glm-edge-4b-chat 项目地址: https://ai.gitcode.com/zai-org/glm-edge-4b-chat 随着人工智能技术加速向终端设备迁移&#xff0c;端侧大模型部署正面临前所未有的技术挑战。智谱AI推出的GLM-E…

作者头像 李华