* 알고리즘 트레이닝 북 1번 문제입니다.
간단한 문제지만 programming challenges 사이트에서 채점했는데 조건이 참 까다롭다고 느꼈습니다. 하지만 programming challenges 사이트가 안들어가져서 UVa에서 채점하는데 programming challenges가 좀더 너그러운 느낌이었습니다. -_-;
#include <stdio.h> int main() { long start, end, i, n, cycle_length, max_cycle_length; while(scanf("%d %d", &start, &end) == 2) { max_cycle_length = 0; for(i = (start < end ? start : end) ; i <= (start < end ? end : start) ; i++) { cycle_length = 1; n = i; while(n != 1) { if(n & 1) { n *= 3; n += 1; } else { n >>= 1; } cycle_length++; } if(max_cycle_length < cycle_length) { max_cycle_length = cycle_length; } } printf("%d %d %d\n", start, end, max_cycle_length); } return 0; }
'스터디 > 알고리즘' 카테고리의 다른 글
Algorithm :: 저글링 방사능 오염 (0) | 2012.08.02 |
---|---|
Algorithm :: 해밀턴 순환회로 (0) | 2012.08.01 |
Algorithm :: 소시지 공장 (0) | 2012.07.16 |
Algorithm :: 회의실 배정 (0) | 2012.07.14 |
Algorithm :: 지하철 (0) | 2012.07.14 |