题解 1047: [编程入门]报数问题

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

Kanna-报数问题(循环链表解决法)--C

稍微复杂了点(让空间换时间了)#include#includetypedefstructperson{structperson*next;intnum;}person;//创建节点长度为n的链表并初始化构成循环链表person*initlink(intn){person*head=(person*)m

[编程入门]报数问题-题解(C语言代码)------- 只 需 要 两 部 走 , 就 搞 定 --------

第一步:先人特定的人数进行手拉手,并给每个人一个编号(1,2,3...)实现:建立环形链表第二步:游戏开始,从编号为1的人开始数,每数够三个人则第三个人出列实现:对环形链表进行遍历删除直到剩下一个结点,将结点对应的编号打印就ok!#includestructhum{intid;structhum*ne

[编程入门]报数问题-题解(不需要链路)(C++代码)

对于作者这种小白来说,链路还是比较难理解的,所以作者这里采用了非链路的方法,拓宽思维。原题链接:https://www.dotcpp.com/oj/problem1047.html根据题意我们可以把数组a确定为要排序的数组;把数组b确定为测试数组,用于测试a对应下标的数是否为3。

[编程入门]报数问题-题解(C语言代码)

题解:1047解题思路:设计函数:循环判断,当数字为3,标记此数字为已访问;#include#include#include/*有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位*/voidReport(intn,

[编程入门]报数问题-题解(C语言代码)简单易懂,无需链表

题目描述:有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。输入初始人数n,输出最后一人的编号解题思路:1、malloc函数创建数组并把所有的数组元素初始化为1。2、while循环遍历数组:如果有人被点到3,

[编程入门]报数问题-题解(C语言代码)

思路:因为题目要顺序排列所以我想到用数组来处理此问题。算法:1.开辟n+1大小的数组取第a[1]到a[n]中元素默认为0;2.利用x记录未被3余去的元素个数。3.最后扫描出最后的元素为0的下标输出。#includeintmain(){intn,