现在的位置: 首页 > 综合 > 正文

pku1781

2012年06月13日 ⁄ 综合 ⁄ 共 334字 ⁄ 字号 评论关闭

约瑟夫环问题,将人数循环左移一位即得结果.

Source:

#include<iostream>

#include<cmath>

using namespace std;

 

char str[10];

int t,i;

 

int main()

{

    while(1)

    {

       cin>>str;

       if(strcmp(str,"00e0")==0)break;

       t=(str[0]-'0')*10+str[1]-'0';

       for(;str[3]>'0';str[3]--)t*=10;

       t=t<<1|1;

       for(i=1;i<=t;i<<=1);

       t=t^(i>>1);

       cout<<t<<endl;

    }

}

 

 

抱歉!评论已关闭.