题目标题:
围圈报数(谌海军)

题目描述:
有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-围圈报数(谌海军)的更多相关文章

  1. 长理ACM 14-星期几(谌海军)

    题目描述:编一个程序,已知今天是星期几,计算出n天后是星期几.要求使用枚举变量. 输入描述:输入为两个正整数,第一个数n(n<=6)表示今天是星期几,第二个数m(m<=1000),表示求m ...

  2. c 围圈报数

    #include<stdio.h> /*围圈报数*/ void left(int *p,int m,int n) { int i,j,count; i = j = count = ; ) ...

  3. n人围圈报数,报3出圈

    题目:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位. Scanner scanner = new Scanner(System. ...

  4. 长理ACM 7-密码破译(闫博钊)

    /* //题目标题: *密码破译(闫博钊) //题目描述: *某组织欲破获一个外星人的密码,密码由一定长度的字串组成.此组织拥有一些破译此密码的长度不同的钥匙,若两个钥匙的长度之和恰好为此密码的长度, ...

  5. C语言——N个人围成一圈报数淘汰问题

    <一>问题描述: 有17个人围成一圈(编号为0-16),从第 0号的人开始从 1报数, 凡报到 3的倍数的人离开圈子,然后再数下去,直到最后只剩下一个人为止. 问此人原来的位置是多少号? ...

  6. n人围成一圈报数

    题目:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位 思路:用一个数组存这n个人,里面的初始状态全设为1,表示都还在圈子里面. ...

  7. Java解决小孩围圈问题

    问题描述:一堆小孩围成一个圈,从第一个小孩开始数,每数到第三个便把第三个孩子删去,数到只剩一个小孩为止,并求该孩子的具体编号. 解决办法 1. package test; public class C ...

  8. Java-LinkedList围圈的人名

    import java.util.*; public class Example12_7 { public static void main(String[] args) { int m=5; Lin ...

  9. c语言各类问题 代码

    定义一个结构体,有两个成员变量,一个整型的n,一个字符型的c,利用结构体类型声明一个具有5个元素的数组,并随机初始化,根据成员变量n进行从小到大排序,然后输出 冒泡排序然后 在输出结构体#includ ...

随机推荐

  1. JavaScript的事件对象_其他属性和方法

    在标准的 DOM 事件中,event 对象包含与创建它的特定事件有关的属性和方法.触发的事件类型不一样,可用的属性和方法也不一样. 在这里,我们只看所有浏览器都兼容的属性或方法.首先第一个我们了解一下 ...

  2. OpenGL的几何变换4之内观察全景图

    上一次写了OpenGL的几何变换3之内观察全景图 上次采用的是图片分割化方式,这次采用数据分割化方式. 先说下思路,数据分割化方式呢,是只读取一张图片imgData,然后通过glTexCoord2f( ...

  3. 多路径(multi-path)安装测试实例

    1.确保安装以下的包: device-mapper device-mapper-multipath [root@nticket1~]# rpm -qa "*device*" dev ...

  4. JavaScript:引用js文件时的编码格式问题

    JavaScript:引用js文件时的编码格式问题 如果js文件的编码格式是utf-8,并且含有中文,那么按照正常的方法引用,就会出现乱码的情况. 方法/步骤   如果js文件的编码格式是utf-8, ...

  5. JQuery基础汇总

    1. 对象获取与赋值::$("#obj").val("Hello World!"); 2. 对象的显示与隐藏:$("#obj").show( ...

  6. 【MRPT】【icp-slam-live】Vs2013+ cmake3.6.1 + mrpt1.4.0+opencv2.9.4+wxWidget3.0.2环境配置

    Win10下Vs2013 + cmake3.6.1 + mrpt1.4.0+opencv2.9.4+wxWidget3.1.0环境配置 所接触过的最令我崩溃的环境配置.之前没有考虑到vs2013 20 ...

  7. eclipse+adt+sdk开发环境搭配

    1.开发环境配置 http://www.mamicode.com/info-detail-516839.html

  8. 【转】 Android自定义捕获Application全局异常

    大家都知道,现在安装Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试,所以在程序发布出去之后,如果出现了 ...

  9. 有关Flash Player的内存管理及泄露检测

    1.Flash Player分配内存的策略是少量请求大内存块, 也就是不会频繁向系统请求内存. 2.Flash Player内存的回收是根据引用计数和标记清除(比较耗cpu)这两种方法. 3.从理论上 ...

  10. React添加事件

    定义个组件 组件首字母大写,调用: ReactDOM.render(<Hello></Hello>,document.getElementById('box'));