티스토리 뷰

프로그래밍 문제를 한번 풀어보아요^^


종이를 한번 접으면 면적이 1/2로 줄어든다. 종이를 몇 번 접어야 원래 면적의 1/100로 줄어드는가? 역시 로그 함수나 지수 함수를 사용하지 말고 반복 구조를 이용하여서 해결하여 보자.















1/100로 면적이 언제 줄어드냐는 건데요

처음 크기가 1이라고 했을때

한번 접으면 1 / 2 = 1/2 가되고

두번 접으면 (1/2) / 2 = 1/4

세번 접으면 (1/4) / 2 = 1/8

          .

          .

          .

이런식으로 면적값이 0.01보다 작거나 같아질때까지

계속 2로 나누는 겁니다. (1/2를 곱해도 되구요)







#include <stdio.h> 
int main() 
{ 
   float a=1; 
   int   i=0; 
   while (a > 0.01) 
   { 
      a/=2; 
      i++; 
   }    
   printf("%d번 접으면 원래의 1/100면적으로 줄어듭니다.\n",i); 
   return 0; 
} 


댓글