77问答网
所有问题
输入n个正整数(代表n个人),围成一圈,按1,2,3报数,报到3的人跳出。问最后一个留在圈中的人是谁
输入n个正整数(代表n个人),围成一圈,按1,2,3报数,报到3的人跳出。试编一个程序,问最后一个留在圈中的人是谁?
c语言编程,求教,谢谢
我需要编写的程序~~~
不会写啊~~~
谢谢赐教
举报该问题
推荐答案 2007-11-20
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;
大概是这样的
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/8qqpWpYq.html
其他回答
第1个回答 2007-11-20
好像哪本书上有
第2个回答 2007-11-20
最后剩一个人是第一个人
相似回答
c语言编写
n个人围成一圈,按1
、
2
、
3报数,报到3的人
退出,求
最后留在圈
...
答:
((n
-3)+k)%n=k-3,((n-2)+k)%n=k-2, 对于
(3)
式中'0'前面的数字,由于比n小,也可看作(0+k)%n=k, (1+k)%n=k+1, 故可得出规律:设(3)中某一数为x' , (4)中对应的数为x,则有:x'=(x+k)%n.设x为最终留下的人序号时,队列只剩下1人时,显然x=0; 此...
有
n个人围成一圈,
顺序排号。凡
报到3的人
退出圈子
,问最后留
下的是原来...
答:
因为有
一个人
退出了圈子,所以还剩下n-
1个人
,我们对剩下的人重新从0到n-2编号,同样有公式(k1+3)%n(其中k1为n-
2个人
时退出圈子的人的标号)得出n-1个人时退出圈子人的标号,以此类推直到n等于1时kn-1=0也就是1个人时留下的就是标号为0的人 以此有递推公式f
(1)
=0,f(i)=(f(i-1)+3)...
...开始
报数,
从
1
到
3,
凡
报到3的人
退出圈子
,问最后留
答:
n=
1,1留
,n=
2,2留,n
=
3,2留,n
=4,1留,5,4留。然后n大于等于6时,n=6,1留,n=7,4留,n=8,7留,…即留=3乘以(n除以3的余数)+1。n>=6
...
报数(
从
1
到
3报数),
凡
报到3的人
退出 圈子
,问最后留
下的是原
答:
(p+i)=i+1;i=0;k=0;m=0;while(m<n-1)//m是指出局的人数,因为有
n个人,最后
剩下一个人,所以最多出局(n-
1)
个人,构成循环 { if(*(p+i)!=0)//判断这个号(原来的序号)是否出局 k++;//这个号没有出局,就
报数,
计数器加1 if(k==3)//报3的出局 { (p+i)=0;//将...
有
n个人围成一圈,
顺序
报数,
从一到
三,
数
三的人
退出圈子
,问最后
剩下的...
答:
while(m<n-1) //当出局了12个人之后跳出循环 { if(*(p+i)!=0){ k++;} if(k==3) //k表示点到第三个之后要出局 { (p+i)=0; //把第出局的人记0 m++;k=0; //k置0,从新计算 } i++;if(i==n) //当i=13时,把i置为0,从新从第一个开始点 { i=0;...
...
报数(
从
1
到
3报数),
凡
报到3的人
退出 圈子
,问最后留
下
答:
就像题目中描述的那样,每次循环之后,数到
3的人
都被淘汰,其他的人构成一个新的圈。该题目中:if(*(p+i)!=0) k++;就是实现了,那些没有被淘汰的人(数组的对应元素值不为0
)围成一个
圈。但是,虽然被淘汰的人不再参与
围成一个圈,
但是,每次都要逐一判断这n人是否被淘汰,i就是用来...
...
报数(
从
1
到
3报数),
凡
报到3的人
退出圈子
,问最后留
下的
答:
设有
n个人(
编号0~(n-
1)
),从0开始
报数,报到(
m-1)的退出,剩下的人继续从0开始报数 (用数学方法解的时候需要注意应当从0开始编号,因为取余会取到0解。)实质是一个递推
,n个人
中最终留下来的序号与n-
1个人
中留下来的人的序号有一个递推关系式。假设除去第k个人,则 0,
1, 2, 3
...
大家正在搜
z代表整数还是正整数
n表示整数还是正整数
n代表正整数还是自然数
第一行输入一个整数n
在数学中n代表什么数
n是自然数还是整数
n是不是正整数
n属于整数和自然数哪个
n表示正整数吗
相关问题
C程序有关N个人报数问题?
c语言编写n个人围成一圈,按1、2、3报数,报到3的人退出,...
C语言:输入10个整数,按从小到大排序,再输入一个整数,插入...
(C语言编程) n 个人围成一圈,按顺序编号。从第 1 到 ...
c语言:有n个人围成一圈,从第一个人开始报数1、2、3,每报...
有n个人围成一圈,顺序排号,从第1个人开始报数(从1到3报数...
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数...