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

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

 更新時間:2013年12月25日 16:40:47   投稿:shangke  
這篇文章主要介紹了約瑟夫環(huán)問題(數(shù)組法)c語言實現(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)文章

最新評論

扬州市| 长海县| 常德市| 新和县| 凉山| 班戈县| 马山县| 砚山县| 泽库县| 杨浦区| 大邑县| 祁连县| 五常市| 高青县| 丰都县| 宝兴县| 麟游县| 年辖:市辖区| 郸城县| 名山县| 诏安县| 忻城县| 湖北省| 多伦县| 吉木萨尔县| 博罗县| 吉首市| 黄山市| 建昌县| 丹寨县| 望城县| 化德县| 南城县| 抚远县| 斗六市| 龙海市| 渭南市| 土默特右旗| 正镶白旗| 府谷县| 怀宁县|