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

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

不敢死隊(duì)問(wèn)題

2019-11-11 00:22:20
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

PRoblem Description

說(shuō)到“敢死隊(duì)”,大家不要以為我來(lái)介紹電影了,因?yàn)閿?shù)據(jù)結(jié)構(gòu)里真有這么道程序設(shè)計(jì)題目,原題如下:

 

有M個(gè)敢死隊(duì)員要炸掉敵人的一個(gè)碉堡,誰(shuí)都不想去,排長(zhǎng)決定用輪回?cái)?shù)數(shù)的辦法來(lái)決定哪個(gè)戰(zhàn)士去執(zhí)行任務(wù)。如果前一個(gè)戰(zhàn)士沒完成任務(wù),則要再派一個(gè)戰(zhàn)士上去?,F(xiàn)給每個(gè)戰(zhàn)士編一個(gè)號(hào),大家圍坐成一圈,隨便從某一個(gè)戰(zhàn)士開始計(jì)數(shù),當(dāng)數(shù)到5時(shí),對(duì)應(yīng)的戰(zhàn)士就去執(zhí)行任務(wù),且此戰(zhàn)士不再參加下一輪計(jì)數(shù)。如果此戰(zhàn)士沒完成任務(wù),再?gòu)南乱粋€(gè)戰(zhàn)士開始數(shù)數(shù),被數(shù)到第5時(shí),此戰(zhàn)士接著去執(zhí)行任務(wù)。以此類推,直到任務(wù)完成為止。

 

這題本來(lái)就叫“敢死隊(duì)”。“誰(shuí)都不想去”,就這一句我覺得這個(gè)問(wèn)題也只能叫“不敢死隊(duì)問(wèn)題”。今天大家就要完成這道不敢死隊(duì)問(wèn)題。我們假設(shè)排長(zhǎng)是1號(hào),按照上面介紹,從一號(hào)開始數(shù),數(shù)到5的那名戰(zhàn)士去執(zhí)行任務(wù),那么排長(zhǎng)是第幾個(gè)去執(zhí)行任務(wù)的?

Input

輸入包括多試數(shù)據(jù),每行一個(gè)整數(shù)M(0<=M<=10000)(敢死隊(duì)人數(shù)),若M==0,輸入結(jié)束,不做處理。

 

Output

輸出一個(gè)整數(shù)n,代表排長(zhǎng)是第n個(gè)去執(zhí)行任務(wù)。

Example Input

962230

Example Output

26132#include <stdio.h>#include <stdlib.h>struct node{    int data;    struct node* next;};struct node* Createlist(int n){/*創(chuàng)建一個(gè)循環(huán)鏈表*/    struct node* head,*tail,*p;    int i;    head=(struct node*)malloc(sizeof(struct node));    head->data=1;/*頭結(jié)點(diǎn)的值域不為空*/    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;/*將尾指針指向頭結(jié)點(diǎn),構(gòu)成循環(huán)鏈表*/    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為標(biāo)記標(biāo)量,用來(lái)記錄指針走過(guò)的結(jié)點(diǎn)數(shù)*/            if(flag%5==0)            {/*當(dāng)k對(duì)5取余等于0時(shí),要么派出排長(zhǎng),要么刪掉當(dāng)前結(jié)點(diǎn)*/                if(p->data==1)                {                    printf("%d/n",flag/5);                    break;                }                else                {                    t=head;                    while(t->next!=p)/*尋找當(dāng)前結(jié)點(diǎn)的前一個(gè)結(jié)點(diǎn)*/                        t=t->next;                    t->next=p->next;free(p);/*刪除當(dāng)前結(jié)點(diǎn)*/                }            }        }    }}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 江陵县| 从江县| 勐海县| 元阳县| 东丰县| 溧水县| 东台市| 平遥县| 江阴市| 钟山县| 郎溪县| 平陆县| 博湖县| 康马县| 香格里拉县| 商丘市| 昌宁县| 玉屏| 深泽县| 尚志市| 靖江市| 泰宁县| 井冈山市| 德惠市| 东城区| 灵宝市| 磐安县| 姜堰市| 南川市| 嘉善县| 黔西| 正阳县| 定州市| 商水县| 阿合奇县| 平潭县| 萝北县| 商都县| 高碑店市| 成安县| 乌鲁木齐市|