中易网

有m个人围成一圈,开始报数,报道n,退出,问最后剩下的是几号。(从1号开始) 比如: 输入:5 3 输出:4

答案:3  悬赏:0  
解决时间 2021-01-24 01:46
有m个人围成一圈,开始报数,报道n,退出,问最后剩下的是几号。(从1号开始) 比如: 输入:5 3 输出:4
最佳答案
#include
int main(void)
{
int m,n;
scanf("%d%d",&m,&n);
int a[m];
int i;
for(i=0; i{
a[i]=1;
}
int count=1;//报数
int max=m;//减少的最大人数,留下来一个人
int j=0;//数组下标
while(max!=1) //当没有减少足够的人数时
{
if(count==n)
{
printf("减去一个人! %d\n",j+1);
a[j]=0;//把a[j]的值变成
count=1;//重新计数
max--;
continue;
}
if(j>=m)
{
j=0;
continue;
}
j++;
if(a[j]==1)
count++;
}
for(i=0; i{
if(a[i]==1)
printf("%d\n",i+1);
}
return 0;
}
楼主试试这个
追问:我知道其他的方法,你这样 也行,只是不知道我那样的话 怎么有的数字会出错。谢谢你
全部回答
请问你的代码呢追答
追问:我问题补充了。您看看,
追答:运行结果对的啊,输入50,就是序号为11啊,请具体说明
追问:输入两个数, 当输入。5,3时我这边显示输出了2,4应该只输出4才对输入两个数, 当输入。5,3时我这边显示输出了2,4应该只输出4才对
我暂时保留我的看法!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
求c语言中编写一函数打印how do you do
酒店主营业务成本包括什么?
很想整个双眼皮,每天用针划管用吗?
北京别墅装修预算教你如何精打细算
我的纯后级功放机正听着呢,一开别的电器,就
图片重影怎么弄
请问上海网络布线工程公司哪家好?
为什么我的尿很黄,我看别人都是白色的。
机票改签扣费怎么算
薇风时尚造型馆地址好找么,我有些事要过去
2012上海情人节玫瑰花价格
东北民间秧歌鼓点怎么打
目前海拔高度
怎么去遗传性雀斑
周记寿衣香烛店地址好找么,我有些事要过去
推荐资讯
优视雅车载DVD怎么样?
安乡县常德金安诊所在哪里啊,我有事要去这里
反馈一个问题
铬钒钢是什么?
幸福新生活布店怎么去啊,我要去那办事
婴儿有胎记好吗
断路器和分励脱扣器都是什么东西?工作原理和
宣纸到底是 长卷好 还是传统宣纸好
中间有一年未教社保,参加工作时间怎么算
泰安深国投商业中心(沃尔玛购物广场)项目项
汉朝设立的太学与京师大学堂有什么不同
用墨子止楚攻宋的办法能不能制止美国对叙利亚
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?