首页 > 其他分享 >浙江理工大学入队200题——16I

浙江理工大学入队200题——16I

时间:2022-10-30 11:46:20浏览次数:63  
标签:200 cnt 16I int 猴子 入队 编号 大王

问题 I: 零基础学C/C++172——猴子选大王

题目描述

有n只猴子围成一圈,从1~n编号,大家决定从中选出一个大王。经过协商,决定选大王的规则为:从编号为1的猴子开始报数,报到k的猴子出圈,然后再从下一只开始继续报1到k......最后剩下来的那只就是大王。要求编程从键盘输入n,k,输出成为大王的猴子编号。

输入

一行输入2个正整数n和k 2<=n<=1000,2<=k<=103

输出

一行一个正整数,表示猴王的编号

样例输入 Copy

3 2

样例输出 Copy

3
提示
本题可以用循环链表实现

题解

不用看循环链表,这个到时候你会学的,这道题目的话如果直接(j+k)%n会错误,是因为a[X]=0的猴子已经出列,不能再算了
所以我们+1+1的来判断,虽然麻烦但是有用。

代码(AC)

点击查看代码
#include<stdio.h>
const int N = 100010;
int a[N];
int main()
{
	int n,k,j=0,cnt=1;
	scanf("%d%d",&n,&k);
	for(int i=0;i<n;i++)
	{
		a[i]=1;
	}
	int sum=n;
	while(sum>1)
	{
		if(a[j]==1&&cnt==k)
		{
			a[j]=0;
			cnt=1;
			sum--;
		}
		else if(a[j]==1)
		{
			cnt++;
		}
		j++;
		j=j%n;
	}
        for(int i=0;i<n;i++)
	{
		if(a[i]==1)
		{
			printf("%d\n",i+1);
		}
	}
	return 0;
}

标签:200,cnt,16I,int,猴子,入队,编号,大王
From: https://www.cnblogs.com/codeshany/p/zstu_200_16I.html

相关文章

  • 浙江理工大学入队200题——17C
    问题C:零基础学C/C++182——墨汁题目描述小T擅长国画,特别崇拜以画马著称的国画大师徐悲鸿先生,所以小T也很喜欢画马,众所周知画马是需要很多墨汁的,为了节省支出,小T决定参......
  • 浙江理工大学入队200题——16H
    问题H:零基础学C/C++179——注册账号题目描述在某网站收集了n个人的注册账号,账号类型有身份证号或者QQ号两种。请编程用适当的数据结构保存信息,并统计身份证中男性和女......
  • 浙江理工大学入队200题——16G
    问题G:零基础学C/C++178——成绩统计题目描述兴趣小组收集学员成绩信息,每个学员的成绩有两种表示方法,一种用best、good、poor三种等级来表示,还有一种就是直接用分数来......
  • 浙江理工大学入队200题——16E
    问题E:零基础学C/C++175——身高问题题目描述输入n个学生的信息,每个学生信息包括姓名、身高、学号。请编程输出身高最高的学生的信息。输入第1行一个正整数n,表示学......
  • 浙江理工大学入队200题——16C
    问题C:零基础学C/C++173——桌面窗体重叠题目描述一个windows桌面上的窗体用4个整数定义位置:左边坐标、右边坐标、下边坐标、上边坐标现在,请输入2个窗体的位置信息,判......
  • 浙江理工大学入队200题——16D
    问题D:零基础学C/C++174——作业统计题目描述为了了解学生的课后作业负担情况,需要统计学生连续若干天完成作业所需的总时间。现在,输入某位学生n天完成作业的时间,格式为......
  • 浙江理工大学入队200题——16B
    问题B:零基础学C/C++171——年龄排序题目描述输入n个学生的信息,包括姓名、性别、出生年月。要求按年龄从小到大依次输出这些学生的信息。数据保证没有学生同年同月出生......
  • 浙江理工大学入队200题——15E
    问题E:零基础学C/C++165——输出素数题目描述编写一个判断素数的函数,主函数中利用这个函数,打印出n与m之间的所有素数。输入多组测试数据,每组输入2个整数n和m,其中1<......
  • 浙江理工大学入队200题——15G
    问题G:零基础学C/C++167——判断是否完数题目描述编写一个判断一个数是否是完数的函数,用main()函数调用。并求n—m以内的完数有哪些?一个正整数的因子是所有可以整除它......
  • 浙江理工大学入队200题——14N
    问题N:零基础学C/C++159——最长字符串题目描述给定一系列不同长度的字符串,找出最长的一串后输出输入输入为多组测试数据。第一行为一个正整数n(n<=10),表示字符串的......