오늘은 c언어에서 달팽이 우물 탈출하기 대작전을 펼쳤다.
역시나 대작전이라 그런지 고민이 된다.... 하지만 나는 할 수 있다.!@
그럼 시작해 보도록 한다.
오늘의 문제
#include <stdio.h>
void main( void )
{
int height = 100;
int snail = 0;
int count = 0;
while(1)
{
snail += 5;
snail -= (snail>=50) ? 2 : 1;
count++;
printf("[%2d]달팽이가 이동한 높이 %2d \n", count, snail );
if( snail >= height )
{
printf( "%d회 만에 우물을 탈출하였습니다.\n", count );
break;
}
}
snail
은 달팽이가 이동한 거리를 나타낸다.
height
는 우물의 높이를 나타낸다.
count
는 달팽이가 도전한 횟수를 나타낸다.
while문
은 우물의 높이인 height
를 초과하면 종료된다.
이때 횟수를 뜻하는 count
를 반복할 때 마다 1씩 증가시킨다.
[ 1]달팽이가 이동한 높이 4
[ 2]달팽이가 이동한 높이 8
[ 3]달팽이가 이동한 높이 12
[ 4]달팽이가 이동한 높이 16
[ 5]달팽이가 이동한 높이 20
[ 6]달팽이가 이동한 높이 24
[ 7]달팽이가 이동한 높이 28
[ 8]달팽이가 이동한 높이 32
[ 9]달팽이가 이동한 높이 36
[10]달팽이가 이동한 높이 40
[11]달팽이가 이동한 높이 44
[12]달팽이가 이동한 높이 48
[13]달팽이가 이동한 높이 51
[14]달팽이가 이동한 높이 54
[15]달팽이가 이동한 높이 57
[16]달팽이가 이동한 높이 60
[17]달팽이가 이동한 높이 63
[18]달팽이가 이동한 높이 66
[19]달팽이가 이동한 높이 69
[20]달팽이가 이동한 높이 72
[21]달팽이가 이동한 높이 75
[22]달팽이가 이동한 높이 78
[23]달팽이가 이동한 높이 81
[24]달팽이가 이동한 높이 84
[25]달팽이가 이동한 높이 87
[26]달팽이가 이동한 높이 90
[27]달팽이가 이동한 높이 93
[28]달팽이가 이동한 높이 96
[29]달팽이가 이동한 높이 99
[30]달팽이가 이동한 높이 102
30회 만에 우물을 탈출하였습니다.
코드를 실행하게 되면 이런 결과를 볼 수 있다.