zoukankan      html  css  js  c++  java
  • 长理ACM 13-围圈报数(谌海军)

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

    题目描述:
    有n(n<=100)围成一圈,顺序排号(从1排到n)。从第一个人开始报数(从1报到m(m<=9)),凡报到m的人退出圈子,问最后留下的是原来第几号的那位?

    输入描述:
    输入为两个正整数,第一个<=100,第二个<=9;

    输出描述:
    输出为一个正整数;

    样式输入:
    100 3

    样式输出:
    91

    编写代码:

     1 #include <stdio.h>
     2 int main()
     3 {
     4     int i, n, m,  k=0, cnt = 0, a[100] = {0};
     5     scanf("%d%d,", &n, &m);
     6     for(i = 0; i < n; ++i)
     7         {a[i] = i+1;}
     8     while(cnt < n)
     9     {
    10         for(i = 0; i < n; ++i)
    11             if(a[i]!=0)
    12             {
    13                 k++;
    14                 if(k==m) {a[i]=0; k=0; cnt++;}
    15             }
    16         if(cnt==n-1) break;
    17         else i=0;
    18     }
    19     for(i = n-1; i >= 0; --i)
    20         if(a[i] != 0) printf("%d", a[i]);
    21     return 0;
    22 }
    View Code

    源代码:

     1 #include<stdio.h>
     2 int main()
     3 {
     4     int a[100];
     5     int n, m, i, sum = 0, k = 0;
     6     scanf("%d%d", &n, &m);
     7     for(i = 0; i < n; i++)
     8         a[i] = i + 1;
     9     while(sum >= 0)
    10     {
    11         for(i = 0; i < n; i++)
    12             if(a[i] != 0)
    13             {
    14                 k++;
    15                 if(k == m) {a[i] = 0; k = 0; sum++;}
    16             }
    17         if(sum == n-1) break;
    18         else i = 0;
    19     }
    20     for(i = n-1; i >= 0; i--)
    21         if(a[i] != 0) printf("%d", a[i]);
    22     return 0;
    23 }
    View Code

    解题思路:
    1、定义一个长度为100数组a,初始化为0;
    2、接收键盘输入值n,m,数组a的前n-1个元素赋值为1~n;
    3、建立两层嵌套循环,外循环至退出人数为n-1为止,内循环中从0循环至n,将a数组中非0的数据逢m置零,同时记录退出人数;
    4、循环全部结束后输出最后留下的一个a数组的非零元素的值。

    亲爱的读者:如果觉得本文对你有所帮助,请点击推荐,分享给其他人!
  • 相关阅读:
    Redis学习笔记
    Springboot + Tomcat跑项目出现端口被占用的问题
    按层打印二叉树
    打印二叉树的镜像——剑指offer
    判断树的子结构——剑指offer
    实习半个月的感想
    使用KMP算法判断是否为旋转词
    微信双开
    win10 右键添加cmd当前目录打开
    勒索邮件
  • 原文地址:https://www.cnblogs.com/zhuangwei/p/5270975.html
Copyright © 2011-2022 走看看