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

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

不敢死隊問題

2019-11-10 23:14:54
字體:
來源:轉載
供稿:網友

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);/*刪除當前結點*/                }            }        }    }}
上一篇:歸并排序

下一篇:名單真相

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五指山市| 汉沽区| 象州县| 淅川县| 铁岭市| 田林县| 辽宁省| 漠河县| 海盐县| 汉源县| 友谊县| 阳曲县| 从江县| 双流县| 岳普湖县| 松江区| 温宿县| 泾阳县| 常德市| 浦城县| 高邑县| 海安县| 佛山市| 积石山| 正阳县| 浠水县| 西畴县| 岑巩县| 安丘市| 来安县| 上虞市| 磐安县| 朝阳市| 英吉沙县| 丰都县| 棋牌| 林甸县| 台安县| 卫辉市| 原平市| 囊谦县|