Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- C언어 메모리
- placehoder
- Vim
- C언어 함수
- jsp
- 날짜
- 포인터
- C언어 파일입출력
- C언어 매크로
- 오라클
- Spring email
- C언어 배열
- URL 다운로드
- java
- 구글 reCaptcha
- 역순
- 자바
- SQL
- Google reCaptcha
- C언어
- Oracle
- HTML5
- 텍스트 파일 읽기
- Naver SmartEditor
- C언어 구조체
- Spring google
- GUI
- TCP/IP 소켓
- C언어 변수
- gcc
Archives
- Today
- Total
easy software
C언어 공식을 코드로 변경해보자! 본문
이번에는 '2*k승 <= n 이다.'라는 공식을 코드로 변경하는 예제를 해보겠습니다.
사용자가 1024를 입력하면 k는 10이라고 출력해주고, 512를 입력하면 9라고 출력해주는 예제입니다.
공식을 보면 당황하는 경우가 상당히 많은데, 저번에 소개해드렸던 시간을 코드로 구현하는 것 처럼 일단 시도해보면 크게 어렵지 않다는 걸 느끼실 겁니다.
이번 공식에서의 문제를 푸는 힌트는 2를 몇 번 곱해야 사용자가 입력한 값이 되느냐 입니다.
그 내용을 반복문으로 구현하면 간단하게 풀 수 있는 문제입니다.
#include <stdio.h>
int main(void){
int input;
int count = 0;
printf("상수 n 입력 : ");
scanf_s("%d", &input);
//사용자가 입력한 값이 1이 될때 까지 나눔
while (input != 1){
//2의 0승은 0이므로 조건을 만족시켜 반복문 탈출(count는 초기값 0)
if (input == 0)
input = 1;
//2보다 큰수를 입력한다면 1이 될 때 까지 나눔(count를 증가시켜 2를 몇번 곱했는지 계산)
else{
input /= 2;
count++;
}
}
printf("공식을 만족하는 k : %d\n", count);
return 0;
}
'C언어 > 기타' 카테고리의 다른 글
C언어 난수를 이용한 가위 바위 보 게임 (0) | 2015.01.31 |
---|---|
C언어 rand() / srand()와 time.h를 사용하여 난수를 출력해보자 (0) | 2015.01.31 |
C언어 rand()함수를 이용하여 의사난수 출력하기 (0) | 2015.01.29 |
C언어 사용자로부터 초를 입력받아 시, 분, 초로 계산해주는 예제 (0) | 2015.01.11 |
C언어 소수(Prime Number) 출력하기 (0) | 2015.01.10 |
Comments