长理ACM 13-围圈报数(谌海军)
题目标题:
围圈报数(谌海军)
题目描述:
有n(n<=100)围成一圈,顺序排号(从1排到n)。从第一个人开始报数(从1报到m(m<=9)),凡报到m的人退出圈子,问最后留下的是原来第几号的那位?
输入描述:
输入为两个正整数,第一个<=100,第二个<=9;
输出描述:
输出为一个正整数;
样式输入:
100 3
样式输出:
91
编写代码:
#include <stdio.h>
int main()
{
int i, n, m, k=, cnt = , a[] = {};
scanf("%d%d,", &n, &m);
for(i = ; i < n; ++i)
{a[i] = i+;}
while(cnt < n)
{
for(i = ; i < n; ++i)
if(a[i]!=)
{
k++;
if(k==m) {a[i]=; k=; cnt++;}
}
if(cnt==n-) break;
else i=;
}
for(i = n-; i >= ; --i)
if(a[i] != ) printf("%d", a[i]);
return ;
}
源代码:
#include<stdio.h>
int main()
{
int a[];
int n, m, i, sum = , k = ;
scanf("%d%d", &n, &m);
for(i = ; i < n; i++)
a[i] = i + ;
while(sum >= )
{
for(i = ; i < n; i++)
if(a[i] != )
{
k++;
if(k == m) {a[i] = ; k = ; sum++;}
}
if(sum == n-) break;
else i = ;
}
for(i = n-; i >= ; i--)
if(a[i] != ) printf("%d", a[i]);
return ;
}
解题思路:
1、定义一个长度为100数组a,初始化为0;
2、接收键盘输入值n,m,数组a的前n-1个元素赋值为1~n;
3、建立两层嵌套循环,外循环至退出人数为n-1为止,内循环中从0循环至n,将a数组中非0的数据逢m置零,同时记录退出人数;
4、循环全部结束后输出最后留下的一个a数组的非零元素的值。
长理ACM 13-围圈报数(谌海军)的更多相关文章
- 长理ACM 14-星期几(谌海军)
题目描述:编一个程序,已知今天是星期几,计算出n天后是星期几.要求使用枚举变量. 输入描述:输入为两个正整数,第一个数n(n<=6)表示今天是星期几,第二个数m(m<=1000),表示求m ...
- c 围圈报数
#include<stdio.h> /*围圈报数*/ void left(int *p,int m,int n) { int i,j,count; i = j = count = ; ) ...
- n人围圈报数,报3出圈
题目:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位. Scanner scanner = new Scanner(System. ...
- 长理ACM 7-密码破译(闫博钊)
/* //题目标题: *密码破译(闫博钊) //题目描述: *某组织欲破获一个外星人的密码,密码由一定长度的字串组成.此组织拥有一些破译此密码的长度不同的钥匙,若两个钥匙的长度之和恰好为此密码的长度, ...
- C语言——N个人围成一圈报数淘汰问题
<一>问题描述: 有17个人围成一圈(编号为0-16),从第 0号的人开始从 1报数, 凡报到 3的倍数的人离开圈子,然后再数下去,直到最后只剩下一个人为止. 问此人原来的位置是多少号? ...
- n人围成一圈报数
题目:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位 思路:用一个数组存这n个人,里面的初始状态全设为1,表示都还在圈子里面. ...
- Java解决小孩围圈问题
问题描述:一堆小孩围成一个圈,从第一个小孩开始数,每数到第三个便把第三个孩子删去,数到只剩一个小孩为止,并求该孩子的具体编号. 解决办法 1. package test; public class C ...
- Java-LinkedList围圈的人名
import java.util.*; public class Example12_7 { public static void main(String[] args) { int m=5; Lin ...
- c语言各类问题 代码
定义一个结构体,有两个成员变量,一个整型的n,一个字符型的c,利用结构体类型声明一个具有5个元素的数组,并随机初始化,根据成员变量n进行从小到大排序,然后输出 冒泡排序然后 在输出结构体#includ ...
随机推荐
- supervisord
[简介] supervisord的官网:http://supervisord.org.看懂英文的可以不用看我的博客,直接看文档就行了,文档写得非常好.点个赞!! Supervisor是一个客户/服务器 ...
- spring中文乱码问题
第一:code @RequestMapping(value = "/query/{keyword}", method = RequestMethod.GET, produces = ...
- semantic-ui dropdown is not a function
按照semantic-ui官网示例,编写了如下示例,却不见效果. <div class="ui secondary menu"> <a class="i ...
- Office 多版本共存
1 32位共存 假如已经安装了Office 2003(必定是32位的),那么安装 32位Office 2010 时会出现如下错误: 图1.1 解决办法: 1.将下述三个注册表项导出到文件2003A.r ...
- 一个比较全面的java随机数据生成工具包
最近,由于一个项目的原因需要使用一些随机数据做测试,于是写了一个随机数据生成工具,ExtraRanom.可以看成是Java官方Random类的扩展,主要用于主要用于测试程序.生成密码.设计抽奖程序等情 ...
- laravel 自定义命令
1.自定义命令:将自定义命令保存在app/Console/Commands,也可以在composer.json文件配置自动加载,自由选择想要放置的地方 php artisan make:console ...
- iOS动态部署方案
转载: iOS动态部署方案 前言 这里讨论的动态部署方案,就是指通过不发版的方式,将新的内容.新的业务流程部署进已发布的App.因为苹果的审核周期比较长,而且苹果的限制比较多,业界在这里也没有特别多的 ...
- 浅谈AsyncState与AsyncDelegate使用的异同
对于AsyncState来说,其MSDN的解释为:得到BeginInvoke方法的最后一个参数.而对于AsyncDelegate来说,其MSDN的解释为:得到异步调用的委托对象.也就是异步调用的委托源 ...
- 倒计时原生js
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 5.3.2 Eclipse集成开发环境的使用技巧
Eclipse具有强大的编辑.调试.编译和打包功能,本节仅讲解Eclipse中最常用的功能. 1.将程序代码和注释字体变大 (1)启动Eclipse,选择“Windows”->“Preferen ...