java编程17人编号为0-16围成一圈,0号人开始从1报数,凡是报数为3倍数的...
依据提议,可以将题目等价变换为:“n(n=17)人编号为0到(n-1)围成一圈,0号人开始从0报数,凡是报数为m-1 (m=3)倍数的人离开圈子,继续到一个,问他编号”一开始的状态 0,1,2,3,4,5 ... (n-2), (n-1) 【n个人】第一个人被踢之后 设第一个被踢的人的编号为k, 则 k =...
17个人围成圈,编号为1—17,从第1号开始报数,报到3的倍数的人离开
可以,给每个状态赋值,编号用数组下标来编。比如3的倍数的离开就把他的值变为0.用循环。然后对数组求和,求和得到所有数组的和为0时循环结束...
有17个人围成一圈
include "stdlib.h"include "stdio.h"/* count个人围成一圈,从1开始报数,报number的出列,返回最后剩下的人 */ int getLast(int count,int number){ int *a = malloc(count*sizeof(int)); /* 动态分配count长度数组 */ int i,n;if(number<1 || count<1) /* 判断数据是否有效 */ {...
java编程 有n个人围成一个圈,顺序排号。从第一个人开始报数(从1到3...
public class Increase {public static void rep(boolean[] people) {int i = 0,j=0,n=people.length,m=n;while(n>2){i=++i%m;if (people[i] == true){j++;if (j==3){people[i] = false;System.out.println(i);n--;//总人数减1j = 0;//到3从头数}}}public static void...
JAVA编写一群人围成一圈报数从一开始一直报道99凡事遇到七的倍数或含有...
static void main(String[] args) { System.out.println("开始报数:");for (int i = 1; i < 100; i++) { if (i % 7 == 0 || (i+"").indexOf("7")>0){ System.out.print("\n@");}else{ System.out.print(" "+i);} } System.out.println("报数结束!");} ...
用VB编写 有N个人,从1到N编号,按照编号顺序围成一圈。从第一个人开
Private Sub Command1_Click()Dim a() As Long, intN As Long, n As Long, q As Long, r As Long, b() As Long intN = InputBox("N=", "请输入人数N", 100)n = intN Me.Caption = "N=" & n ReDim a(1 To n)For i = 1 To n a(i) = i Print Format(a(i), ...
10人围成一圈的java程序
题目要求如下:有N个小朋友围成一圈做游戏,从第一个小朋友起以一开始报数,报到3的小朋友离开游戏,剩下小朋友继续从一开始报数,依次类推循环之剩下最后一人。问:所剩下的人在原来的圈子排第几位置?用Java 编写代码程序如下:public class ShowNum { public static void main(String[] args)...
约瑟夫问题
约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的人的序号为5,4,6,2,3。最后剩下1号。 假定在圈子里前K个为好人,后K个为坏人,你的任务是确定这样的最少M,使得所有的坏人在第一个好人之前被杀掉。 C++代码示例:...
请用JAVA编一程序100个人围成一个圆圈从编号1开始报数到18号时该人...
public static void main(String[] args) { int[] a = new int[100];for(int i=0; i
约瑟夫问题:n个人围成一圈,从第1个人开始数数,数到3的人出圈,输出出圈...
include<string.h> include<iostream> using namespace std;struct PERSON { int flag;int num;PERSON *pNext;};int g_iCount=0;void ArrayEatMouse(int a[],int count,int num){ int iLoop=0;int ExitNum=0;int iCount=0;while(ExitNum<count-1){ if(0==a[iLoop]){ Sleep(100);i...