zoukankan      html  css  js  c++  java
  • 华为2013校招之哈工大威海 上机试题之一:报数问题:设有N 个人围坐一圈并按顺时针方向从1 到N 编号,从第S个人开始进行1 到M报数,报 数到第 M个人时,此人出圈,再从他的下一个人重新开始1 到 M的报数,如此进行下去直 到所有的人都出圈为止。现要打印出出圈次序。

    1.  报数游戏

    问题描述: 

    设有个人围坐一圈并按顺时针方向从编号,从第S个人开始进行M报数,报

    数到第 M个人时,此人出圈,再从他的下一个人重新开始 M的报数,如此进行下去直

    到所有的人都出圈为止。现要打印出出圈次序。  

    要求实现函数: 

    void circle_sort (int n, int s, int m, int *p)

    输入:游戏总人数  s 报数的起始编号  m 报数的数值    

    输出:指向长度为n的数组,出圈次序保存在 p指向的数组中

    示例 

       n=7 s=2 m=3  出圈次序为:4 7 3 1 6 2 5

       n=3 s=1 m=2  出圈次序为:2 1 3  

    // tst.cpp : 定义控制台应用程序的入口点。
    //

    #include "stdafx.h"


    #include<iostream>
    using namespace std;

    /*void circle_sort (int n, int s, int q, int *p)
    {


    }*/
    int main()
    {
    typedef struct man{
    int num;
    struct man *next;
    }node;

    node *head,*s,*p_p,*p_q;
    int n =3,k=1,m=2;
    head = (node*)malloc(sizeof(node));
    p_p = head;
    for (int i=1;i<=n;i++)
    {
    s = (node *)malloc(sizeof(node));//申请节点空间
    s->num = i;//填数
    //cout<<"s->data:"<<s->num<<" ";
    //连接节点
    p_p->next = s;
    p_p = s;
    }

    p_p->next = head->next; //最后一个指向第一个节点
    //cout<<"第一个节点是:"<<p_p->next->num<<" ";
    //////////////////////////////////////////////////////////////////////////
    //找到开始位置
    for (int j=0;j<k;j++)
    {
    p_p=p_p->next;
    }
    //cout<<"开始计数位置:"<<p_p->num<<" ";

    while(n)
    {

    for (int j=1;j<m;j++)
    {
    p_p=p_p->next;
    //cout<<"移动后依次为:"<<p_p->num<<" ";
    }
    cout<<"选中的数是:"<<p_p->num<<" ";
    p_q = p_p->next;
    p_p->num = p_q->num;
    p_p->next = p_q->next;
    free(p_q);
    n--;
    }

    }

  • 相关阅读:
    redis 键命令
    redis 数据类型
    java向word写入数据
    Eclipse发布到tomcat提示java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
    Unable to locate Spring NamespaceHandler for XMLschemanamespace http://dubbo.apache.org/schema/dubbo
    5.Dubbo之Spring XML配置
    6.Dubbo之XML配置详解。
    7.Dubbo之最佳实践
    RESTful API实践
    Jav程序执行Linux命令
  • 原文地址:https://www.cnblogs.com/hackerl/p/3318082.html
Copyright © 2011-2022 走看看