a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

約瑟夫環(huán)問題(數(shù)組法)c語言實(shí)現(xiàn)

2020-01-26 15:39:15
字體:
供稿:網(wǎng)友

問題說明
這個問題是以弗拉維奧?約瑟夫斯命名的,它是1世紀(jì)的一名猶太歷史學(xué)家。他在自己的日記中寫道,他和他的40個戰(zhàn)友被羅馬軍隊包圍在洞中。他們討論是自殺還是被俘,最終決定自殺,并以抽簽的方式?jīng)Q定誰殺掉誰。約瑟夫斯和另外一個人是最后兩個留下的人。約瑟夫斯說服了那個人,他們將向羅馬軍隊投降,不再自殺。約瑟夫斯把他的存活歸因于運(yùn)氣或天意,他不知道是哪一個機(jī)智的約瑟夫!

    有N個編號為1~N的人圍成一圈,現(xiàn)在每隔兩個人(比如:1、4 之間隔了2、3)就將一個人淘汰出去,問最后剩下的是編號為幾的人?

算法代碼如下

復(fù)制代碼 代碼如下:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int people_count = 0;
    int *peoples = NULL;
    printf("please input people number: ");
    scanf("%d", &people_count);
    if (people_count < 2){
        printf("can't do Joseph/n");
    }
    peoples = (int *)calloc(people_count, sizeof(int));
    int i;
    for(i = 0; i < people_count; i++){
        peoples[i] = i+1;
    }
    i = 0;
    int j = 0;
    int rest = people_count;
    while(rest){
        if (i >= people_count){
            i %= people_count;
        }
        if (peoples[i] == 0){
            i++;
            continue;
        }
        if (j++ % 3 ==0 && rest > 1){
            printf("kill people NO. %d/n", peoples[i]);
            peoples[i] = 0;
            rest--;
        }else if (rest==1){
            printf("NO. %d is alive/n", peoples[i]);
            rest--;
        }
        i++;
    }
    system("pause");
    return 0;
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 最近韩国日本免费高清观看 | 久久天堂 | 久草视| 亚洲午夜性视频 | 国产一级毛片国语一级 | 久久精品久久精品国产大片 | 久草青青草 | 欧美日韩一区二区视频在线观看 | 91久久久久久久久 | 欧美日本韩国一区二区 | 日韩成人高清电影 | 国产精品亚洲视频 | 超碰av人人 | 91久久爽久久爽爽久久片 | 黄色一级片黄色一级片 | 日韩久久午夜一级啪啪 | 精品亚洲一区二区三区四区五区 | 国产精品揄拍一区二区久久国内亚洲精 | 精品欧美一区二区三区久久久 | 一本一本久久a久久精品牛牛影视 | 精品影视| 狠狠操天天干 | 精品日韩欧美一区二区在线播放 | av手机电影 | 中文字幕在线视频一区 | 久久久亚洲一区 | 久久久一区二区三区 | 国产综合精品视频 | 青娱乐国产在线 | 国产一区二区在线不卡 | 免费av毛片 | 日韩综合网 | 欧美成人视屏 | 在线观看一区 | 日韩不卡 | 日韩性猛交 | 日av一区 | 国产精品一二三区 | 国产二区精品 | 一级毛片观看 | 国产精品极品美女在线观看免费 |