500个孩子围成一圈,数三个,退出一个,问最后还剩下哪个孩子

发布于 教育 2024-08-14
16个回答
  1. 匿名用户2024-02-01

    构造一个子类来表示子类,id 表示子类的编号,并在下一个子类旁边构造一个子类,从而形成一个链表。

    public class child {

    int id;

    child next;

    public child(int i)

    id=i;next=null;

    以下是主要程序。

    public class test2 {

    public static void main(string args) {

    child first=new child(1);创建您的第一个孩子。

    child c1=first;

    for(int i=2;i<=500;i++)

    child c=new child(i);单独创建每个子项,并将它们彼此相邻。

    c1=c;;最后一个与第一个连接形成一个环。

    while(true)

    if( break;第一个代表正在考虑的孩子,因为最后一个孩子最终会指向他,因为他不断移除孩子,结束循环。

    数三以删除一个意味着将指针向下移动两个孩子,然后删除移动到第三个孩子,并将指针指向第四个孩子作为下一个计数的开始。

    for(int i=1;i<=2;i++)

    first=;

    删除第三个孩子。

    first=;将指针移动到第四个子项。

    最后一个孩子是:"+;

    如果他们指的是同一个孩子,他就是最后一个孩子! ");

    程序写得很清楚,结果看我的空间。

  2. 匿名用户2024-01-31

    我也来凑热闹,呵呵,如果结果不是450,就别看我的程序了 有两种方法,其实是一样的,一种是用对象,另一种是通用算法导入;

    public class t {

    public static void main(string arg){

    a(500,3);数字 = 500,顶出器在 3 次后。

    b(500,3);

    通用算法。 static void b(int count,int out){arraylistl = new arraylist();

    int x = 0;

    for(int i=0; i1){

    for(int i=0; il = new arraylist();

    while(count-->0) child())int x=0;

    while(>1){

    for(child c:l){

    x; if(x%(out+1)==0)

    for(int i=0; i<;i++)

    if(;last: "+;

    class child{

    static int index;

    int id=++index;number,第一个对象将被标记为 1boolean out; 出征。

  3. 匿名用户2024-01-30

    这是我最初写的圈子外的八个孩子的问题。

    要更改为 500 个子项并计算三个数字,请重新初始化 s 数组。

    然后设置 n=500 m=3 来解决问题。

    public class jone ;

    int i,j,w=0,n=8,m=5;

    for(i=n;i>0;i--)

    w=(w+m-1)%i;

    for(j=w;js[j]=s[j+1];

  4. 匿名用户2024-01-29

    public class child

    剩下的最后一个孩子是第一个孩子" + last + 1) +"不");

    结果是 436

  5. 匿名用户2024-01-28

    问题很详细。

    我不明白。

  6. 匿名用户2024-01-27

    使用堆栈,数组无法删除退出的子项。

  7. 匿名用户2024-01-26

    这是一个典型的编程问题。 每年有数十万人写下这个问题。

  8. 匿名用户2024-01-25

    这个问题可以这样理解,转成一个圆圈,1-18个循环数,其实转三圈回到开头的状态,循环报告(即用前三个圆圈重复),因为78*3=234人,正好可以整除18。 这样,问题就不那么困难了;

    1) 有多少孩子报告了数字 1?

    第一圈:4组1-18岁,1组1-6岁,5名儿童报告1名;

    第二圈:1组7-18岁,3组1-18岁,1组1-12岁,1名儿童5名;

    第3圈:1组13-18,4组1-18

    有 5 名儿童报告了 1 名;

    其中,报1个的孩子没有重复,共计:15个;

    2) 有多少儿童同时报告了 5 和 10 的数字?

    我的想法是,有5个孩子在第一轮报了5个,4个孩子报了10个,然后计算一下第二轮和第三轮报5的孩子是报了10,还是第一轮报了10的孩子在第二轮和第三轮报了5个;

  9. 匿名用户2024-01-24

    这是一个通用程序:(根据需要进行不同的小改动)标题:有n个人围成一个圆圈,按顺序编号。

    从第一个报告号码的人开始(从 1 到 3),所有向 1 和 3 报告的人都退出圈子,并询问最后一个留下原始号码的人。

    解决方案:操作步骤如下:

    #include

    void main()

    i++;if(i==n) * 当数字上报给尾号时,i 恢复为 0 * i=0;

    whlie(*p==0)

    p++;printf("the last one is no.%d",*p);}

  10. 匿名用户2024-01-23

    一个简单的符号就可以了。

    #include

    #include

    using namespace std;

    void main()

    j++;if(num==110) break;直到第110个人出去。

    for(j=1;j<112;j++) 输出该人不为负 0。

    if(b[j])

    cout<

  11. 匿名用户2024-01-22

    五个 2,即 22:22:2 2 秒,所以现在是晚上 10 点 22 分。

  12. 匿名用户2024-01-21

    我从父亲那里借了500,从母亲那里借了500,还有970买了一双鞋。 剩30块钱,爸爸10块钱,妈妈10块钱,自己10块钱,自己10块钱,爸爸490块钱,妈妈490块钱,490 490=980。 加上你自己的 10 件 = 990。

    还有 10 件要去**。

  13. 匿名用户2024-01-20

    因为这些都不是感觉,是无法计算的,我也曾被蒙蔽,你也被愚弄过。 您可以尝试删除一个条件,它应该被建立。

  14. 匿名用户2024-01-19

    一个小女孩向父母借了500元,花了970元买了一件衣服,留下30元把10元还给父母,给自己留了10块钱。

  15. 匿名用户2024-01-18

    4 名男性,8 名女性,12 名儿童。

  16. 匿名用户2024-01-17

    一个男人,三个孩子,其余的都是女人。

相关回答
10个回答2024-08-14

一个,555 6666=

二, 5555 66666 = >>>More

7个回答2024-08-14

这是一个非常简单的循环语句,如下所示:

dim count >>>More

10个回答2024-08-14

如果它是一个自然数就好了。

因为每个自然数之间只有一个差值,比如......从前一位数字中减去最后一位数字等于 1。 >>>More

13个回答2024-08-14

半导体是指在室温下导电性能介于导体和绝缘体之间的材料。

11个回答2024-08-14

猜三打中的数字——答案:4。 >>>More