Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions 15649.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import itertools

a, b = map(int, input().split())

# lst = []
# for i in range(1, a + 1):
# lst.append(i)



# 1. b개를 뽑는 법
#
# 2. 가장 작은 순으로 나열하는 법
# 자연수로 만들어서 비교할 수 있을까




# ---
# python의 itertools 중 permutation 함수 사용

lsta = []
for i in range(1, a+1):
lsta.append(i)

lst = list(itertools.permutations(lsta, b)) # 튜플 반환

for j in lst:
print(*j) # 튜플 형식 없애기 위해 * 붙이기


11 changes: 11 additions & 0 deletions 1929.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# 범위 받기
min, max = map(int, input().split())

for i in range(min, max+1):
if i == 1:
continue
for j in range(2, int(i**0.5)+1):
if i % j == 0: # 나누어 질 경우
break # 그 숫자는 패스
else:# 살아남은 숫자는
print(i)
18 changes: 18 additions & 0 deletions 1978.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# 갯수 받기
a = int(input())
# 숫자들 받기
b = list(map(int, input().split()))
# 카운트
count = 0

for i in b: # 리스트 내 숫자에 대해
if i == 1: # 1은 당연히 제외
count += 1
continue
for j in range(2, i):
if i % j == 0: # 2부터 i까지 나누어 보아 나머지가 0인 경우 발생시
count += 1 #count에 +1
break # 다음 숫자로

print(a-count) #전체 갯수 - 소수의 갯수

23 changes: 23 additions & 0 deletions 2609.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
a, b = map(int, input().split())

# 유클리드 호제법

a2 = a
b2 = b
while b != 0:
a, b = b, a % b

print(a)
print(int(a2*b2/a))



# for i in range (1, a):
# if a % i == 0 and b % i == 0:
# print(i)
# break

# for j in range(b, ):
# if j % a == 0 and j % b == 0:
# print(j)
# break
43 changes: 43 additions & 0 deletions 4948.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# while True:
# n = int(input())
# count = 0
# bign = 2*n
# if n == 0:
# break
# else:
# for i in range(n, bign + 1):
# if i == 1:
# count += 1
# continue
# for j in range(2, int(i**0.5)+1):
# if i % j == 0: # 나누어 질 경우
# break # 그 숫자는 패스
# else:# 살아남은 숫자는
# count += 1


# print(count)


# 시간 초과

num = 123456*2+1
num_list = [1]*num
for i in range(1, num):
if i == 1:
continue
for j in range(2, int(i**0.5)+1):
if i % j == 0:
num_list[i] = 0
break

while True:
n = int(input())

if n == 0:
break

prime = 0
for i in range(n+1, 2*n+1):
prime += num_list[i]
print(prime)
43 changes: 43 additions & 0 deletions 6588.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# n = int(input())
# # n = a + b
# # b-a가 가장 큰 것을 출력
# # 불가능할 시 Goldbach's conjecture is wrong. 출력
# # 0 입력시 종료

# for i in range(3, n, -1):
# if n == 0:
# break
# for j in range(3, int(i**0.5)+1):
# if i % j != 0:


# https://changha-dev.tistory.com/181 참고하였음

import math
import sys

# 에라토스테네스의 체 == 주어진 범위 내의 소수 리스트 반환하는 효율적인 알고리즘
def sieve_of_eratosthenes(n):
prime = [True for _ in range(n+1)]
prime[0] = prime[1] = False # 0과 1 제외
for i in range(2, int(math.sqrt(n)) + 1):
if prime[i] == True:
for j in range(i*i, n+1, i):
prime[j] = False #i의 배수를 모두 False로 만듦
return prime

max_n = 1000000
prime_list = sieve_of_eratosthenes(max_n)

while True:
n = int(sys.stdin.readline()) # 시간초과 방지
if n == 0:
break
# 홀수만 찾으면 되므로 2씩 더해준다.
for i in range(3, int(n/2)+1, 2):
if prime_list[i] and prime_list[n-i]: #리스트에서 두 홀수 값이 소수인 경우
print(f"{n} = {i} + {n-i}")
break

else:
print("Goldbach's conjecture is wrong.")
6 changes: 6 additions & 0 deletions 8393.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
n = int(input())
sum = 0
for i in range(1, n+1):
sum += i

print(sum)
11 changes: 11 additions & 0 deletions 999.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
N, M = map(int, input().split())

for i in range(N, M+1):
if i == 1: # 1은 통과
continue

for j in range(2, int(i**0.5) + 1): # 2 ~ 제곱근 사이 값 확인
if i % j == 0: # 나누어 떨어진다면 그대로 종료 (else문 실행 X)
break
else: # for문이 잘 실행이 되었다면 print(i) 출력
print(i)