반복문을 이용한 코드로, 이런 문제는 for 문보다는 while이 더 편하다.

while 을 써서 조건에 맞으면 do 를 이용해 다시 올려보내는 식으로 작성하면된다.

while을 쓰고, 조건을 q가 아닐때 반복으로 해 주면 q 가 나왔을때 반복을 멈추게 된다.

여기서 입력된 공백을 없애줘야 하는데, %c 를 쓸 떄에 앞에 공백을 써 주면 입력된 공백을 무시한다.

 

이번 문제도 반복문을 이용한 것으로 if 문으로 먼저 정수의 범위를 정해주고,

반복문으로 계속 값을 더해주는 방법으로 진행한다.

시간초과..

 

 

경우의 수를 구하는 문제로 반복문 두개를 사용하여 반복 출력하면서 서로 매치시켜주면 된다.

예를들어서 이중for 문으로 바깥 for 문이 1일때 나올수 있는 경우를 안쪽 for 문을 통해 여러번 반복출력해주는 식으로 작성하면된다.

 

 

 

***코딩도장 연습문제 & 심화문제

 

4의 배수를 구하려면 4로 나눴을때 나머지가 0이 나와야한다. 따라서 c 라고 할 수 있다.

 

공배수인 경우는 두 수를 곱한 수를 나누거나, && 를 사용해 둘 다 만족하는 값을 찾는 방법이 있다.

그런데 8은 4의 배수이므로 8의 배수는 4와의 공배수가 된다.

따라서 c와 e 가 답이된다.

 

**심화문제

이 문제는 if 문 과 for 문이 사용된다.

일단 먼저 범위를 정해줘야 하는데, && 를 사용하여 모든 값을 만족해야 for 문을 실행하도록 작성한다.\

그 후 for를 이용하여 입력한 첫번째 값부터 두번째 값까지 반복하고, 배수 부분만 if 로 걸러내 다른 값을 출력한다.

 

여기서 코드는 항상 윗부분부터 실행되므로 5의 배수와 11의 배수가 55의 배수보다 위에 있다면 55의 배수가 나왔을때 55가 안 나오고 똑같이 값을 만족하는  5의 값이나 11의 값이 나오게 된다.

 

 

오늘의 걸렸던점, 알게된점..

 

-- %c 앞에 공백을 띄워주면 scanf 의 공백값을 무시할 수 있음.

+ Recent posts