본문 바로가기

백준 알고리즘73

[백준 알고리즘] 10870번 Python 문제 정보 제출 코드 def fibonacci(n1, n2, count, n): if(count==n): return n1+n2 return fibonacci(n2, n1+n2, count+1, n) n = int(input()) if(n==0): print(0) elif(n==1 or n==2): print(1) else: print(fibonacci(0,1,2,n)) 2021. 10. 4.
[백준 알고리즘] 10872번 Python 문제 정보 제출 코드 def fectorial(n): if(n==1): return 1 else: return n*fectorial(n-1) n = int(input()) if(n==0): print(1) else: print(fectorial(n)) 2021. 10. 4.
[백준 알고리즘] 1002번 Python 문제 정보 제출 코드 # https://yoonsang-it.tistory.com/32 참고 n = int(input()) for i in range(n): x1, y1, r1, x2, y2, r2 = map(int,input().split()) # 피타고라스 정리 distance = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** 0.5 r_d = [r1,r2,distance] max_v = max(r_d) r_d.remove(max_v) # 접점이 무한히 많은 경우 if(r1==r2 and distance==0): print(-1) # 접점이 0개인 경우 elif(max_v>r_d[0]+r_d[1]): print(0) # 접점이 1개인 경우 elif(r1+r2==distance or.. 2021. 10. 4.
[백준 알고리즘] 3053번 Python 문제 정보 제출 코드 # 유클리드 기하학에서 원의 반지름은 r*r*pi이며, 택시 기하학에서 원의 반지름은 r*r*2이다. import math r = int(input()) print(r*r*math.pi) print(r*r*2) 2021. 10. 4.
[백준 알고리즘] 4153번 Python 문제 정보 제출 코드 # 직삼각형은 가장 큰 길이의 제곱과 나머지 길이의 제곱의 합이 같은 것으로 알 수 있음 while(True): data_list = list(map(int, input().split())) if(data_list[0]==0 and data_list[1]==0 and data_list[2]==0): break x = max(data_list) data_list.remove(x) if(x**2==(data_list[0]**2+data_list[1]**2)): print('right') else: print('wrong') 2021. 10. 4.
[백준 알고리즘] 3009번 Python 문제 정보 제출 코드 x_list = [] y_list = [] for i in range(3): x, y = map(int, input().split()) x_list.append(x) y_list.append(y) for i in range(3): if(x_list.count(x_list[i])==1): x = x_list[i] if(y_list.count(y_list[i])==1): y = y_list[i] print(x,y) 2021. 10. 4.
[백준 알고리즘] 1085번 Python 문제 정보 제출 코드 x, y, w, h = map(int, input().split()) print(min(x,y,w-x,h-y)) 2021. 10. 4.
[백준 알고리즘] 9020번 Python 문제 정보 제출 코드 def check(i): if i==1: return False else: for j in range(2,int(i**0.5)+1): if(i%j==0): return False return True num = 10000 answer = [False]*10000 for i in range(1,num): if(check(i)): answer[i] = True count = int(input()) for i in range(count): n = int(input()) for i in range(n//2, 1, -1): if(answer[n-i] and answer[i]): print(i, n-i) break 2021. 10. 4.
[백준 알고리즘] 4948번 Python 문제 정보 제출 코드 # 속도 문제 때문에 처음에 미리 소수를 계산했음 def check(i): if i==1: return False else: for j in range(2,int(i**0.5)+1): if(i%j==0): return False return True answer = [False]*(123456*2+1) for i in range(1,123456*2+1): if(check(i)): answer[i] = True while(True): n = int(input()) total = 0 if(n==0): break for i in range(n+1,n*2+1): if(answer[i]): total += 1 print(total) 2021. 10. 4.