[恢]hdu 1210

2011-12-16 00:57:22

地址:http://acm.hdu.edu.cn/showproblem.php?pid=1210

题意:中文。。。

mark:枚举了”1“的变化位置,然后计数。当1回到第一位,则停止。

代码:

# include <stdio.h>


int calc(int n)
{
int cnt = 0, cur = 1 ;
do{
if (cur <= n) cur = 2*cur ;
else cur = (cur-n) * 2 - 1 ;
cnt++ ;
}while (cur != 1) ;
return cnt ;
}


int main ()
{
int n ;
while (~scanf ("%d", &n))
printf ("%d\n", calc(n)) ;
return 0 ;
}



原文地址:https://www.cnblogs.com/lzsz1212/p/2314839.html