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

题目描述:
有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

相关文章:

  • 2021-09-08
  • 2022-12-23
  • 2021-12-18
  • 2022-12-23
  • 2021-09-13
  • 2021-12-02
  • 2022-12-23
  • 2021-12-19
猜你喜欢
  • 2021-07-31
  • 2021-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-05
相关资源
相似解决方案