[TIOJ] 1004. 猶太人敢死隊問題

題目連結:http://tioj.infor.org/problems/1002
不難發現本題的規律,也就是對於f(n)他是個遞增的奇數數列,而當n為2的冪次時,f(n)重新從1開始遞增
嚴謹證明請見維基百科https://zh.wikipedia.org/wiki/约瑟夫斯問題
#include <stdio.h>
int main(){
        int a,b=1;
        scanf("%d",&a);
        while(a>=b*2){
                b*=2;
        }
        printf("%d\n",(a-b)*2+1);
        return 0;
}

留言

這個網誌中的熱門文章

[TIOJ] 1094. C.幼稚國王的獎賞

[IOJ] 19. 啦啦啦

[IOJ] 14. 費氏數列問題