输入n个正整数(代表n个人),围成一圈,按1,2,3报数,报到3的人跳出。问最后一个留在圈中的人是谁

来源:百度知道 编辑:UC知道 时间:2024/06/15 19:19:51
输入n个正整数(代表n个人),围成一圈,按1,2,3报数,报到3的人跳出。试编一个程序,问最后一个留在圈中的人是谁?
c语言编程,求教,谢谢
我需要编写的程序~~~
不会写啊~~~
谢谢赐教

int a[n];
for(int i=0;i<n;i++)
a[n]=1;
int j,shu,x=0;
for (i=1;i<=n-1;i++)
{
shu=1;
while (shu<=3)//数数
if (a[x]==1){x++;shu++;if (shu==4) a[x-1]=0;}
else x++;
if (x==n) x=0;
}
for(i=0;i<n-1;i++)
if (a[i]==1) cou<<i;
大概是这样的

好像哪本书上有

最后剩一个人是第一个人

输入n个正整数(代表n个人),围成一圈,按1,2,3报数,报到3的人跳出。问最后一个留在圈中的人是谁 输入n(n为1位正整数),输出n+1层杨辉三角形 输入两个正整数m和n, 输入一个正整数n,计算出n!并输出 1、 输入2个正整数m和n(1<=m,n<=6),然后输入该m行n列矩阵a中的元素,分别求出各行元素之和,并输出。 已知m,n为正整数,求出满足等式3n+4n+5n+…+(n+2)n=(n+3)n的所有正整数n 输入2个正整数m和n,求其最大公约数和最小公倍数。求全解!谢谢! 用C++编写 m!+n! 就是输入两个正整数m和n,计算m!+n! 用C语言编程:从键盘上输入两个正整数n和a, 求Sn=a+aa+aaa+ …a…aa的值(共有n项,最后一项有n个a) 用c语言实现:输入正整数n和r,如果n>=r,打印出从1,2,3...n中每次取个的组合。