일단 문제 그대로 보여드리면


#1

모닝과 소나타가 자동차 경주를 하는데 모닝의 속도는 시속 110km이고 소나타의 속도는 시속 50km이다.

그리고 소나타는 모닝보다 800m 앞에서 출발한다.

모닝이 소나타를 앞지르는 것은 출발 후 몇 초 후부터 인지 계산하여 출력하는 프로그램을 작성하시오


#답

morning_dis <- 0

sonata_dis <- 800

sec <- 0

while(TRUE) {

sec <- sec + 1

morning_dis  <-  morning_dis  + 110,000/3600 * sec

sonata_dis  <-  sonata_dis + 50,000/3600 * sec

if (morning_dis > sonata_dis ) 

break

 }

print(sec)


여기서 morning_dis , sonata_dis 에 이전sec 이동거리에 각 속력*루핑되는 sec 를 곱해서 더하는게 이해가 안되네요  

그러니까

위와 같은 구조에선 단위시간1초의 이동거리가 누적되는게 아니라 1,2,3...(n+1)초의 이동거리가 누적되서 더해진다고 생각되서요


래서

sec <- 0

morning_dis <- 0

sonata_dis <- 0

while(T){

sec <- sec + 1

morning_dis  <- 110,000/3600 * sec

sonata_dis <- 50,000/3600 * sec + 800

if (morning_dis > sonata_dis )

break 

 }

print(sec)


가 되어야 하는게 아닌가요???