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

相关文章

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

文章目录 🍊自我介绍🍊创建一个空的顺序表,为结构体在堆区分配空间🍊插入数据🍊输出数据🍊判断顺序表是否满了,满了返回值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

C++中类的构造函数调用顺序

当建立一个对象时,首先调用基类的构造函数,然后调用下一个派生类的 构造函数,依次类推,直至到达派生类次数最多的派生次数最多的类的构造函数为止。 简而言之,对象是由“底层向上”开始构造的。因为,构造函数一开始构造时,总是 要调用它的基类的构造函数,然后才开始执行其构造函数体,调用直接基类构造函数时, 如果无专门说明,就调用直接基类的默认构造函数。在对象析构时,其顺序正好相反。

七、Maven继承和聚合关系、及Maven的仓库及查找顺序

1.继承   2.聚合   3.Maven的仓库及查找顺序

代码随想录刷题day25丨491.递增子序列 ,46.全排列 ,47.全排列 II

代码随想录刷题day25丨491.递增子序列 ,46.全排列 ,47.全排列 II 1.题目 1.1递增子序列 题目链接:491. 非递减子序列 - 力扣(LeetCode) 视频讲解:回溯算法精讲,树层去重与树枝去重 | LeetCode:491.递增子序列_哔哩哔哩_bilibili 文档讲解:https://programmercarl.com/0491.%E9%80%92%E

线性表中顺序表的合并

对两个顺序表进行合并,算法的复杂度为O(La.size+Lb.size)。 已知: 顺序线性表La和Lb的元素按值非递减排列 归并La和Lb得到的顺序线性表Lc,Lc的元素也按值非递减排列。 代码定义: void mergeList(SeqList *La,SeqList *Lb,SeqList *Lc){Lc->capacity = La->size + Lb->size;Lc->b