2009~2014/C/C++
[C언어 기출문제&풀이] 거듭제곱
malu
2010. 11. 2. 17:10
프로그램 명: tf
제한시간: 1 초
양의 정수 n 을 입력으로 받아 n = o * 2^p 가 되는 홀수 o 와 정수 p 를 구하는 것이 문제이다.
예를 들어 24 를 입력으로 받으면 o = 3 , p = 3 이다.
입력
정수 n 이 입력으로 주어진다. ( 1 <= n <= 10^6 )출력
한 줄에 o 와 p 를 출력한다.입출력 예
입력 24 출력 3 3
출처: Central European Programming Contest
풀이 : 루프를 돌려 구하도록 한다.
소스코드
01
#include <stdio.h>
02
03
int
main()
04
{
05
int
n,i,count=0;
06
scanf
(
"%d"
,&n);
07
for
(i=1;n%2==0;i++)
08
n/=2;
09
printf
(
"%d %d"
,n,i-1);
10
}