반복문 활용2(합, 곱)
2022. 9. 20. 23:33ㆍ파이썬(Python)
반응형
1. 합 구하기
- 0을 초기값으로 하는 변수(sum_val)를 활용
- for 안에서 i값에 따라 sum_val 값에 더해주는 식으로 진행
※ sum_val처럼 변수명을 적을 때 가독성을 위해 단어와 단어 사이에 _ (underscore)를 넣어 표현하는 것을 snake case라 한다.
Q) 1부터 n까지 합
- n을 입력하여 1부터 n까지의 합을 구하시오
n=int(input())
sum_val=0
for i in range(1,n+1):
sum_val+=i
print(sum_val)
결과
>> 5
15
Q) 홀수, 짝수만 더하기
- n을 입력 후, n개의 줄에 걸쳐 한 줄에 정수를 하나씩 입력
- n개의 수 중 홀수의 합과 짝수의 합을 각각 출력
n=int(input())
sum_odd, sum_even=0,0
for _ in range(n):
m=int(input())
if m%2==0:
sum_even+=m
else:
sum_odd+=m
print(sum_odd,sum_even)
결과
>> 5
>> 15
>> 7
>> 6
>> 24
>> 3
25 30
Q) 배수의 합과 평균 구하기
- 자연수 a, b, n를 입력 후 a부터 b까지의 수 중 n의 배수들의 합과 평균을 출력.
- 평균은 소수점 둘째 자리까지 출력
inp=input('두 수 입력: ').split()
a,b=int(inp[0]), int(inp[1])
n=int(input('배수 입력: '))
sum_val=0
cnt=0
for i in range(a,b+1):
if i%n==0:
sum_val+=i
cnt+=1
avg=sum_val/cnt
print(f'합계: {sum_val}, 평균: {avg:.2f}')
결과
>> 두 수 입력: 4 21
>> 배수 입력: 5
합계: 50, 평균: 12.50
Q) 배수 조건의 총합 구하기
- 자연수 a, b를 입력.
- 자연수 n, m을 입력.
- a이상 b이하 수 중 n의 배수이면서, m의 배수가 아닌 수들의 합을 출력
inp=input('a,b 입력: ').split()
a,b=int(inp[0]), int(inp[1])
inp2=input('n,m 입력: ').split()
n,m=int(inp2[0]),int(inp2[1])
sum_val=0
for i in range(a,b+1):
if i%n==0 and i%m!=0:
sum_val+=i
print(sum_val)
결과
>> a,b 입력: 12 26
>> n,m 입력: 3 6
36
2. 곱 구하기
- 1을 초기값으로 갖는 변수(prod)를 활용.
- for 안에서 변수 i값이 prod값에 곱해주는 식으로 진행
※ 0을 초기값으로 하면 값을 계속 곱해도 0이므로 주의!!
Q) a부터 b까지의 곱
- a, b를 입력하여 a부터 b까지의 곱을 출력
inp=input().split()
a,b=int(inp[0]),int(inp[1])
prod=1
for i in range(a,b+1):
prod*=i
print(prod)
결과
>> 5 12
19958400
Q) 지수 형태 계산
- 정수 a, b를 입력하여 a^b(a의 b승) 값을 출력
- a>=1, b>=0
inp=input().split()
a,b=int(inp[0]),int(inp[1])
prod=1
for i in range(b):
prod*=a
print(prod)
결과
>> 3 4
81
Q) 배수들의 곱
- 자연수 a, b를 입력하여 a부터 b까지의 수 중 a의 배수들의 곱을 출력
inp=input().split()
a,b=int(inp[0]),int(inp[1])
prod=1
for i in range(a,b+1):
if i%a==0:
prod*=i
print(prod)
결과
>> 3 20
524880 # 3*6*9*12*15*18