首页 > 代码库 > HDU 1210
HDU 1210
感觉就是乱搞找规律
自己写几组数据
本来开始是想着把 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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。