码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 1210

时间:2014-12-31 23:58:57      阅读:387      评论:0      收藏:0      [点我收藏+]

标签:

感觉就是乱搞找规律

自己写几组数据

本来开始是想着把 n 个数字每次回到原来位置各需要多少次,然后取它们的最小公倍数就好了

但是数据写着写着发现每一个数回到原来位置次数都是一样的,那么就简单了,直接第一个数

为例,不断跟踪位置,计算它走过的次数

 1 #include <cstdio>
 2 
 3 int main()
 4 {
 5     int n;
 6     while(scanf("%d" , &n)!=EOF)
 7     {
 8         int k = 2 , ans = 1;
 9         while(k != 1){
10             if( k <= n ) k <<= 1;
11             else k = (k - n)*2-1;
12             ans++;
13         }
14         printf("%d\n" , ans);
15     }
16     return 0;
17 }

 

HDU 1210

标签:

原文地址:http://www.cnblogs.com/CSU3901130321/p/4196730.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!