2015年第十六周oj刷题:顺序排号

2023-10-20 05:30

本文主要是介绍2015年第十六周oj刷题:顺序排号,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

<center><h2>1067: 顺序排号</h2><span class="green">Time Limit: </span>1 Sec  <span class="green">Memory Limit: </span>128 MB
<span class="green">Submit: </span>213  <span class="green">Solved: </span>157
[<a target=_blank href="http://202.194.119.110/submitpage.php?id=1067">Submit</a>][<a target=_blank href="http://202.194.119.110/problemstatus.php?id=1067">Status</a>][<a target=_blank href="http://202.194.119.110/bbs.php?pid=1067">Web Board</a>]</center><h2>Description</h2><div class="content"><p>有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。</p></div><h2>Input</h2><div class="content"><p>初始人数n</p></div><h2>Output</h2><div class="content"><p>最后一人的初始编号</p></div><h2>Sample Input</h2><pre class="content"><span class="sampledata">3</span>

Sample Output

2

 
#include<iostream>   using namespace std;  int main()  
{  int num[50];  int i,j,k,m,n;  int *p;  cout<<endl<<"请输入总人数:"<<endl;  cin>>n;  p=num;  for(i=0;i<n;i++)  {  *(p+i)=i+1;   //以1至n为序,给每个人编号   }  i=0;    //i为每次循环时计数变量   k=0;    //k为按1 2 3报数时的计数变量   m=0;    //m为退出人数   while(m<n-1)  //当退出人数比n-1少时(即未退出人数大于1时)执行循环体   {  if(*(p+i)!=0)  {  k++;  }  if(k==3)    //将退出人的编号置为0   {  *(p+i)=0;  k=0;  m++;  }  i++;  if(i==n)  {  i=0;//报数到尾后i恢复为0   }  }  while(*p==0)  {  p++;  }  cout<<"最后一个是"<<*p<<" 号!"<<endl;  return 0;  
}  /*         
* Copyright (c) 2012, 烟台大学计算机学院         
* All rights reserved.         
* 作 者:  刘同宾       
* 完成日期:2012 年 12 月 05 日         
* 版 本 号:v1.0  
*               
* 输入描述:    
* 问题描述:有n个人围成一圈,顺序排号,从第一个人开始报数(从1~3报数),
*           凡报到3的人退出圈子,问最后留下的人原来排在第几号。
* 程序输出:
* 问题分析:略        
* 算法设计:略         
*/#include<iostream>using namespace std;int main()
{int num[50];int i,j,k,m,n;int *p;cout<<endl<<"请输入总人数:"<<endl;cin>>n;p=num;for(i=0;i<n;i++){*(p+i)=i+1;   //以1至n为序,给每个人编号}i=0;    //i为每次循环时计数变量k=0;    //k为按1 2 3报数时的计数变量m=0;    //m为退出人数while(m<n-1)  //当退出人数比n-1少时(即未退出人数大于1时)执行循环体{if(*(p+i)!=0){k++;}if(k==3)    //将退出人的编号置为0{*(p+i)=0;k=0;m++;}i++;if(i==n){i=0;//报数到尾后i恢复为0}}while(*p==0){p++;}cout<<"最后一个是"<<*p<<" 号!"<<endl;return 0;
}

这篇关于2015年第十六周oj刷题:顺序排号的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/244989

相关文章

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

JAVA利用顺序表实现“杨辉三角”的思路及代码示例

《JAVA利用顺序表实现“杨辉三角”的思路及代码示例》杨辉三角形是中国古代数学的杰出研究成果之一,是我国北宋数学家贾宪于1050年首先发现并使用的,:本文主要介绍JAVA利用顺序表实现杨辉三角的思... 目录一:“杨辉三角”题目链接二:题解代码:三:题解思路:总结一:“杨辉三角”题目链接题目链接:点击这里

顺序表之创建,判满,插入,输出

文章目录 🍊自我介绍🍊创建一个空的顺序表,为结构体在堆区分配空间🍊插入数据🍊输出数据🍊判断顺序表是否满了,满了返回值1,否则返回0🍊main函数 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~ 🍊自我介绍   Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾”

web群集--nginx配置文件location匹配符的优先级顺序详解及验证

文章目录 前言优先级顺序优先级顺序(详解)1. 精确匹配(Exact Match)2. 正则表达式匹配(Regex Match)3. 前缀匹配(Prefix Match) 匹配规则的综合应用验证优先级 前言 location的作用 在 NGINX 中,location 指令用于定义如何处理特定的请求 URI。由于网站往往需要不同的处理方式来适应各种请求,NGINX 提供了多种匹

【每日刷题】Day113

【每日刷题】Day113 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 91. 解码方法 - 力扣(LeetCode) 2. LCR 098. 不同路径 - 力扣(LeetCode) 3. 63. 不同路径 II - 力扣(LeetCode) 1. 91. 解码方法 - 力扣(LeetCode) //思路:动态规划。 cl

hot100刷题第1-9题,三个专题哈希,双指针,滑动窗口

求满足条件的子数组,一般是前缀和、滑动窗口,经常结合哈希表; 区间操作元素,一般是前缀和、差分数组 数组有序,更大概率会用到二分搜索 目前已经掌握一些基本套路,重零刷起leetcode hot 100, 套路题按套路来,非套路题适当参考gpt解法。 一、梦开始的地方, 两数之和 class Solution:#注意要返回的是数组下标def twoSum(self, nums: Lis

[数据结构]队列之顺序队列的类模板实现

队列是一种限定存取位置的线性表,允许插入的一端叫做队尾(rear),允许删除的一端叫做队首(front)。 队列具有FIFO的性质 队列的存储表示也有两种方式:基于数组的,基于列表的。基于数组的叫做顺序队列,基于列表的叫做链式队列。 一下是基于动态数组的顺序队列的模板类的实现。 顺序队列的抽象基类如下所示:只提供了接口和显式的默认构造函数和析构函数,在派生类中调用。 #i

[数据结构]栈之顺序栈的类模板实现

栈的数组实现形式,采用动态分配数组,不够时可以调整栈的大小。 Stack.h文件:主要定义栈的抽象基类,提供公共的接口函数。 #ifndef STACK#define STACK//栈的抽象基类template<class T>class Stack{public:Stack(){}~Stack(){}virtual void Push(const T& x)=0;virt