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

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

筛选

C语言-报数问题 简单数组法

摘要:解题思路: 题设要求输入一个正整数n,即表示n个人围成一圈,且分别编号1~n,由编号为1的人开始从1到3报数,报到3的人退出,那么最后只会留下一个人,求这个人的编号。 这里所有人是围成一……

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

摘要:解题思路:本题并不算在经典算法的范围内,只是比之前的题目多了一点逻辑上的难度。我的思路是建一个大小为n的数组,数组里面的值是1到n,代表n个人的编号。每有一人报数计数器就+1,报数到3(即count ……

用c lass 和 循环一维

摘要:解题思路:注意事项:参考代码:class people:    def __init__(self,num):        self.num=num        self.J=Truen=int(……

我认为较简单的一种解法

摘要:解题思路:注意事项:参考代码:#include<stdio.h>int main(){    int n,t=1,i,j,k=0;    scanf("%d",&n);    int a[n];   ……

报数问题,公式解决

摘要:解题思路:  公式:f(n,3)=(f(n−1,3)+3)%n ,其中n是总人数,f(n,3)是获胜者的下标位置。注意事项:  这个公式计算的是从0开始的下标位置,所以最后还要加一。         ……

用数组方法解决报数问题

摘要:解题思路: 用一个数组num[]代表n个人,用下标代表初始号数,一开始令num[0]到num[n-1]都为1,然后用一个循环,当第x个人的报数为3时,令num[x]=0,直到数组num[]中只有一个1……