国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

不敢死隊問題

2019-11-11 01:48:22
字體:
來源:轉載
供稿:網友

PRoblem Description

說到“敢死隊”,大家不要以為我來介紹電影了,因為數據結構里真有這么道程序設計題目,原題如下:

 

有M個敢死隊員要炸掉敵人的一個碉堡,誰都不想去,排長決定用輪回數數的辦法來決定哪個戰士去執行任務。如果前一個戰士沒完成任務,則要再派一個戰士上去。現給每個戰士編一個號,大家圍坐成一圈,隨便從某一個戰士開始計數,當數到5時,對應的戰士就去執行任務,且此戰士不再參加下一輪計數。如果此戰士沒完成任務,再從下一個戰士開始數數,被數到第5時,此戰士接著去執行任務。以此類推,直到任務完成為止。

 

這題本來就叫“敢死隊”。“誰都不想去”,就這一句我覺得這個問題也只能叫“不敢死隊問題”。今天大家就要完成這道不敢死隊問題。我們假設排長是1號,按照上面介紹,從一號開始數,數到5的那名戰士去執行任務,那么排長是第幾個去執行任務的?

Input

輸入包括多試數據,每行一個整數M(0<=M<=10000)(敢死隊人數),若M==0,輸入結束,不做處理。

 

Output

輸出一個整數n,代表排長是第n個去執行任務。

Example Input

962230

Example Output

26132#include <stdio.h>#include <stdlib.h>struct node{    int data;    struct node* next;};struct node* Createlist(int n){/*創建一個循環鏈表*/    struct node* head,*tail,*p;    int i;    head=(struct node*)malloc(sizeof(struct node));    head->data=1;/*頭結點的值域不為空*/    head->next=NULL;    tail=head;    for(i=2;i<=n;i++)    {        p=(struct node*)malloc(sizeof(struct node));        p->data=i;        p->next=NULL;        tail->next=p;        tail=p;    }    tail->next=head;/*將尾指針指向頭結點,構成循環鏈表*/    return head;};void main(){    int n,flag;    struct node* head,*p,*t;    while(scanf("%d",&n)!=EOF&&n!=0)    {        head=Createlist(n);        for(p=head,flag=1;;p=p->next,flag++)        {/*k為標記標量,用來記錄指針走過的結點數*/            if(flag%5==0)            {/*當k對5取余等于0時,要么派出排長,要么刪掉當前結點*/                if(p->data==1)                {                    printf("%d/n",flag/5);                    break;                }                else                {                    t=head;                    while(t->next!=p)/*尋找當前結點的前一個結點*/                        t=t->next;                    t->next=p->next;free(p);/*刪除當前結點*/                }            }        }    }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 红原县| 闽侯县| 肇东市| 新津县| 亚东县| 乐陵市| 青岛市| 宁河县| 浙江省| 武鸣县| 石棉县| 滁州市| 彭山县| 赤城县| 仲巴县| 南木林县| 马边| 陇川县| 即墨市| 页游| 大竹县| 澎湖县| 会理县| 海林市| 仙桃市| 栖霞市| 顺昌县| 永胜县| 本溪| 社旗县| 苍山县| 双牌县| 乐昌市| 南丹县| 黄龙县| 合山市| 略阳县| 驻马店市| 东城区| 洪湖市| 许昌县|