39일차 문제

양진혁·2021년 12월 9일
0

문제풀이

첫 번째 줄에는 과자 한 개의 가격 K, 사려고 하는 과자의 개수 N, 현재 동수가 가진 돈 M이 각각 공백을 사이에 두고 주어진다. 단, K, N은 1,000 이하의 양의 정수이고, M은 10만 이하의 양의 정수이다. (1 ≤ K, N ≤ 1,000, 1 ≤ M ≤ 100,000이다.)

예제 입력 1
300 4 1000

예제 출력 1
200

a,b,c = map(int, input().split())
if a*b - c <=0:
  print(0)
else:
  print(a*b - c)

만약 동수가 가진 돈이 충분하다면 0을 그게 아니면 과자 가격에서 가진 돈을 뺀만큼 엄마한테 받으면 된다.

두번째 문제는
어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다.

예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다.

n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라.

예제 입력 1
6
12
28
-1

예제 출력 1
6 = 1 + 2 + 3
12 is NOT perfect.
28 = 1 + 2 + 4 + 7 + 14

while True:
  a = int(input())
  el = []
  if a == -1:
    break
  for i in range(1,a):
    if a%i == 0:
      el.append(i)
  if a == sum(el):
    print(str(a)+" = "+" + ".join(map(str,el)))
  else:
    print(str(a)+" is NOT perfect.")

입력값이 -1이 된다면 반복문을 끝내주고 그 안에 반복문을 통해서 나머지가 0인 약수를 빈 리스트에 넣어주고 만약 a가 약수들의 합과 같다면 약수들의 합은 a라는 것을 출력해주고 그게 아니면 is not perfect를 출력한다.

0개의 댓글