Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 크래프톤정글
- 자바
- 4기
- 모션비트
- 코드트리
- defee
- corou
- HTML
- 백준
- 소켓
- 자바스크립트
- 오블완
- 큐
- Vue.js
- JavaScript
- 시스템콜
- CSS
- 리액트
- 사이드프로젝트
- 티스토리챌린지
- 나만무
- pintos
- Flutter
- Java
- 핀토스
- TiL
- userprog
- 알고리즘
- 크래프톤 정글
- 스택
Archives
- Today
- Total
미새문지
24.06.30 day14 코드트리 문제 풀기 본문
728x90
완전수
어떤 수의 진약수란, 을 나누어 떨어지게 하는 양의 정수 중에서 이 아닌 수를 말합니다. 이때, 의 진약수의 총합이 과 같다면, 을 완전수라고 말합니다.
예를 들어, 28의 진약수로는 1, 2, 4, 7, 14가 있고, 이들의 합은 28이므로, 28은 완전수입니다. 그러나, 20의 진약수로는 1, 2, 4, 5, 10이 있고, 이들의 합은 22이므로, 20은 완전수가 아닙니다.
두 정수 start와 end가 주어집니다. start 이상 end 이하인 완전수의 개수를 세는 프로그램을 작성해보세요.
예제1
입력: 3 30
출력: 2
a, b = map(int, input().split())
cnt = 0
for i in range(a, b+1):
sum = 0
for j in range(1, i):
if i % j == 0:
sum += j
if sum == i:
cnt += 1
print(cnt)
a 부터 b까지 완전수의 개수를 찾는 문제다. 하나씩 1부터 반복문으로 시작하여 a전까지 나누어 떨어지면 값을 더해서 a값이 나올 때 cnt를 올린 후 모든 반복문이 끝나면 cnt를 출력한다.
소수 구하기
1이상 n이하의 소수를 오름차순으로 출력하는 프로그램을 작성해보세요.
예제1
입력: 3
출력: 2 3
n = int(input())
for i in range(2, n+1):
prime = True
for j in range(2, i):
if i % j == 0:
prime = False
break
if prime:
print(i, end=' ')
소수는 1과 자기 자신으로밖에 안나눠지기 때문에, 기본 bool값을 true로 주고 2부터 i까지 반복문을 돌면서 한번이라도 나누어 떨어지면 bool값을 false로 바꾼다. false라는 뜻은 소수가 아니기 때문에 이 후 bool값이 true일 때만 출력해준다.
728x90
'개발 TIL' 카테고리의 다른 글
24.07.02 day16 코드트리 문제 풀기, 프로그래머스 문제 풀기, position 속성 (0) | 2024.07.02 |
---|---|
24.07.01 day15 코드트리 문제 풀기, 프로그래머스 문제 풀기, 시맨틱 마크업 (0) | 2024.07.01 |
24.06.29 day13 코드트리 문제 풀기, 프로그래머스 문제 풀기 (0) | 2024.06.29 |
24.06.28 day12 코드트리 문제 풀기, 이벤트 전파(Event Propagation) (0) | 2024.06.28 |
24.06.27 day11 코드트리 문제 풀기, 리액트의 라이프 사이클 (0) | 2024.06.27 |