공업수학 2018 과제 1

문제 1.

자연수 n을 입력받아 n!을 리턴하는 함수 factorial()를 구현하라.

예제:

factorial(3) = 6

확인 사항

  1. factorial(6)
  2. factorial(12)
  3. factorial(15)

문제 2.

문자열 kebap을 이용하여 문자열 pkeba을 생성하는 코드를 작성하라.

문제 3.

자연수 n이 주어였을 때, n이 소수인지 아닌지를 판별하는 함수 is_PrimeNumber()를 구현하라.

예제:

is_PrimeNumber(3) = True
is_PrimeNumber(4) = False

확인 사항

  1. is_PrimeNumber(167)
  2. is_PrimeNumber(227)
  3. is_PrimeNumber(303)

문제 4.

다음은 KBS 기상 정보의 일부이다.

weather = "오늘은 해안을 중심으로 강한 바람이 불겠습니다. 현재 기온은 어제 이 시각보다 조금 높습니다. 한낮 기온은 광주 25도, 대전과 대구 24도, 서울 22도로 어제보다 1도에서 5도 가량 낮겠습니다. 제주 해상, 남해상, 동해상의 물결이 최고 2.5m로 비교적 높게 일겠습니다. 내일은 가을비 치고는 꽤 많은 양의 비가 내리겠습니다. 내일 전국에 비가 내리다가 오후에 대부분 그치겠습니다."

(1) 위의 문자열에서 가 등장하는 횟수를 셈하는 코드를 작성하라.

(2) 위의 문자열에서 광주와 서울의 한낮 기온을 찾고, 그 차를 구하는 코드를 작성하라.

문제 5.

몸무게, 키, 나이, 성별을 인자로 하여 기초대사율을 구하는 함수 Bmr()를 작성하라.

힌트: 기초대사율(BMR)을 구하는 미플린 공식은 다음과 같다.

P = (10 m + 6.25 h - 0.5 a + s)
  • s는 남자의 경우 +5, 여자의 경우 -161.
  • P는 완전한 휴식 상태에서의 총 열 생산량(kcal/day),
  • m은 몸무게(kg),
  • h는 키(cm),
  • a는 나이(year),
  • M 은 남자,
  • F는 여자.

확인사항

  1. Bmr(30, 120, 10, M)
  2. Bmr(40, 140, 11, F)
  3. Bmr(60, 160, 50, M)