77问答网
所有问题
当前搜索:
报数有n个人围成一圈
这个程序for循环怎样写,
N个人围成一圈
,
报数
,凡报到3的人退出圈子,问最...
答:
/* 按照你提供的算法理解了一遍,以下用 for 循环更简捷地表达出来 p :指向圈的指针
n
:一开始圈中的人数 i :指向圈的指针从第一
个人
开始,偏移 i 个位置,i 从 0 ~ n 循环取值 m :从圈里出来的人数 k :往后找 k 个仍留在圈中的人 / for (i=0,m=0; m<n-
1
; (++i)<n ...
n个人围成
个圈由第一
个人报数
数到k出圈再由下一个报数数到k出圈依次...
答:
until j=
n
;end.分析:1)我用一个数组a来保存原位置(0则表示人不在,1则表示人在)。2)tou是用来控制当前位置的,如果人在则
报数
(num为她报的数,若num为k,则将他踢走,且下一人再从1开始报,即a[tou]:=0,num:=0,不为k,则下一个),若人不在,就直接看下一位置,直到
有人
为止...
n个人围成一圈
和排成一列的排列方法分别怎么计算?
答:
举报| 评论 2 1 是不是n!-n+1 missingalpha | 发布于2006-08-16 举报| 评论 0 4 其他2条回答 为您推荐: n!是什么意思 n个人围成一圈
报数
3 n个人围成一圈 c
有n个人围成一圈
n个人围一圆桌坐 报数:有n个人围成m 若n个人站成一行 c语言
围n
n!公式 有n个人围成一圈 ...
...
有n个人围成一圈
,顺序排号。从第一个人开始
报数
(从1到3报数),凡...
答:
大致的思路:定义list集合,利用for循环添加
1
—
n
元素,利用if判断,对3取余为0的删除,查看最终输出结果。试着自己做,不懂再问
有n个人围成一圈
,顺序排号。从第
1个人
开始
报数
(从1到23报数),凡报到3...
答:
要程序可以百度“约瑟夫”问题或者“猴子选大王”问题,要答案的话,你的23不大,;可以直接用笔数下。
c++
n个人围
坐
成一圈
,从1开始顺序编号,游戏开始,由1到m循环
报数
,报到m...
答:
num] = num+
1
;do{for(w=0;w<
n
;w++){ if(s[w] == 0) { ; } else { if(u == m){ u = 1; s[w] = 0;k--; } else{u++; } }}}while(k>1);for(int c = 0;c<n;c++){cout<<s[c]<<endl;}return 0;}应该可以吧 ...
20.
n个人围成一圈
,1,2,3循环
报数
,报到3的人退出
答:
可以用链表实现,报到3的人从链表中删除,然后循环,直到最后一个就可以了
C语言
围圈报数
-指针[中] 题目描述
有n个人
(n<=1000),用1,2,...,n...
答:
person[i] =
1
; while(leave_people != 1) //不断的循环,直到只剩下一
个人
为止 { for(i = 0;i < person_num;i++) { count++; //count累加开始计数, if((4 == count)
约瑟夫问题
答:
约瑟夫问题是个有名的问题:
N个人围成一圈
,从第一个开始
报数
,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的人的序号为5,4,6,2,3。最后剩下1号。 假定在圈子里前K个为好人,后K个为坏人,你的任务是确定这样的最少M,使得所有的坏人在第一个好人之前被杀掉。 C++代码示例:...
输入n个正整数(代表
n个人
),
围成一圈
,按1,2,3
报数
,报到3的人跳出。问...
答:
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<...
棣栭〉
<涓婁竴椤
4
5
6
7
9
10
8
11
12
13
涓嬩竴椤
灏鹃〉
其他人还搜