PTA~习题8-4 报数 (20分) 2020年11月
报数游戏是这样的:有n个人围成一圈,按顺序从1到n编好号。从第一个人开始报数,报到m(<n)的人退出圈子;下一个人从1开始报数,报到m的人退出圈子。如此下去,直到留下最后一个人。
本题要求编写函数,给出每个人的退出顺序编号。
函数接口定义:
void CountOff( int n, int m, int out[] );
其中n是初始人数;m是游戏规定的退出位次(保证为小于n的正整数)。函数CountOff将每个人的退出顺序编号存在数组out[]中。因为C语言数组下标是从0开始的,所以第i个位置上的人是第out[i-1]个退出的。
裁判测试程序样例:
#include <stdio.h>
#define MAXN 20void CountOff( int n, int m, int out[] );int main()
{int out[MAXN], n, m;int i;scanf("%d %d", &n, &m);CountOff( n, m, out ); for ( i = 0; i < n; i++ )printf("%d ", out[i]);printf("\n");return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
11 3
输出样例:
4 10 1 7 5 2 11 9 3 6 8
答案:
注意:k=(1+k)%n不可写成k=(k++)%n,不然会因为k=0,而无限循环;
void CountOff(int n,int m,int out[]){int i,j,k;for(i=0;i<n;i++){out[i]=0;}for(k=0,i=1,j=1;j<=n;k=(1+k)%n){if(out[k]==0){if(i==m){out[k]=j;j++;i=0;}i++;}}
}
PTA~习题8-4 报数 (20分) 2020年11月相关推荐
- 浙大 | PTA 习题9-5 通讯录排序 (20分)
输入n个朋友的信息,包括姓名.生日.电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录.题目保证所有人的生日均不相同. [EDIT]: 疫情时免费期间写的,现在题换了答案可能不再通用, ...
- PTA习题6-7 简单计算器 (20分)
模拟简单运算器的工作.假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算. 输入格式: 输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数. ...
- PTA 习题4-6 水仙花数 (20分)
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身.例如:153=13 +53 +33 . 本题要求编写程序,计算所有N位水仙花数. 输入格式: 输入在一行中 ...
- 习题8-4 报数 (20分)
习题8-4 报数 (20分) 报数游戏是这样的:有n个人围成一圈,按顺序从1到n编好号.从第一个人开始报数,报到m(<n)的人退出圈子:下一个人从1开始报数,报到m的人退出圈子.如此下去,直到留 ...
- 习题4-5 换硬币 (20分) 将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
习题4-5 换硬币 (20分) 将一笔零钱换成5分.2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100). 输出格式: 要求按5分 ...
- 习题4-5 换硬币 (20分)
习题4-5 换硬币 (20分) 将一笔零钱换成5分.2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100). 输出格式: 要求按5分 ...
- PTA 7-9 叶节点求和 (20 分)
PTA 7-9 叶节点求和 (20 分) 对给定的有N个节点(N>=0)的二叉树,求叶节点元素之和 没有当过父节点的节点都是叶子节点 #include <iostream> #inc ...
- 习题7-5 找鞍点 (20分)(函数调用解法:先找最大值后比较是否为最小值)
习题7-5 找鞍点 (20分) 一个矩阵元素的"鞍点"是指该位置上的元素值在该行上最大.在该列上最小. 本题要求编写程序,求一个给定的n阶方阵的鞍点. 输入格式: 输入第一行给出一 ...
- 习题8-7 字符串排序 (20 分)
习题8-7 字符串排序 (20 分) 本题要求编写程序,读入5个字符串,按由小到大的顺序输出. 输入格式: 输入为由空格分隔的5个非空字符串,每个字符串不包括空格.制表符.换行符等空白字符,长度小于8 ...
最新文章
- Python计算机视觉:第九章 图像分割
- RFT属于软件测试管理工具,IBM Rational FunctionalTester RFT 软件功能测试工具_FunctionalTester_领测软件测试网...
- C语言模拟顺序栈的创建、入栈、出栈操作
- 3D渲染集群,听说过吗?
- 如何使用Arrays工具类操作数组
- [Java] 蓝桥杯ADV-91 算法提高 素数判断
- HTMLjavaSkcriptCSSjQueryajax(六)
- 高等数学--数学分析一
- 在Excel里怎么输入可以打钩的选择框?
- java compar_Java中Comparable和Comparator
- shell获取脚本本身名称_linux,shell脚本中获取脚本的名字,使用脚本的名字。
- 金山中学 rugular SRM 04 ——纪念我的第一次Ak
- python 实现数据结构八种内部排序算法
- 在word文档中添加目录(包括项目符号、编号、多级列表使用方法)
- css 水平居中和垂直居中
- linux线程 ppt,Linux多线程编程多核编程.ppt
- 如何在chrome浏览器下设置12px以下的字体
- java UDP通信程序DatagramSocket数据发送
- 【转】30岁程序员的转型思考
- antd pro使用iconfont