国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 米脂县| 永济市| 麟游县| 彰化县| 宜兴市| 巫山县| 新昌县| 隆德县| 望江县| 郸城县| 中阳县| 大邑县| 垦利县| 射阳县| 信阳市| 微山县| 安多县| 甘洛县| 宁乡县| 丰镇市| 田林县| 延吉市| 元阳县| 渭源县| 故城县| 堆龙德庆县| 金华市| 余干县| 明光市| 五原县| 望奎县| 广灵县| 广宗县| 迁西县| 和硕县| 启东市| 色达县| 汶川县| 康乐县| 望谟县| 安塞县|