最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2013年12月25日 16:40:47   投稿:shangke  
這篇文章主要介紹了約瑟夫環(huán)問題(數(shù)組法)c語言實(shí)現(xiàn),有需要的朋友可以參考一下

    有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;
}

相關(guān)文章

最新評論

西林县| 沙河市| 宣城市| 岗巴县| 牟定县| 海南省| 平江县| 马公市| 丰城市| 讷河市| 霍邱县| 芦山县| 德惠市| 玉环县| 胶南市| 泰安市| 莫力| 罗源县| 确山县| 永安市| 云阳县| 普宁市| 阜南县| 额尔古纳市| 云阳县| 贵定县| 东明县| 枣庄市| 武乡县| 电白县| 陆丰市| 桦甸市| 永福县| 社会| 个旧市| 高淳县| 土默特左旗| 新沂市| 洛川县| 文水县| 于都县|