수학 4

[백준-파이썬] 4948: 베르트랑 공준

1년 전에 틀렸던 문제를 풀어봤다. 이번에는 과거의 나에게 알려주는 말투로 적어보려고 한다. ㅎㅎ 만우절이니까..ㅎㅎ 문제 보러 가기 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net 안녕! 베르트랑 공준 문제구나. 와 저런 수학적인 명제가 있다니 정말 놀랍네. 음 이 문제는 뭐가 포인트일까? 맞아 맞아~ 소수를 구하는 게 포인트겠지~ 너는 어떻게 풀었는지 볼까? while True: n=int(input()) if n == 0: exit() for i in range(n+1,2*n+1): if n==1..

[백준-파이썬] 11653: 소인수분해

TMI 일기 다음 주는 싸피 프로젝트 마지막 주이다..! 다들 프로젝트하느라고 바빠서 알고리즘 스터디를 쉬기로 했다. 그래도 오랜만에 문제를 풀고 싶어서 백준에 들어왔다. 무슨 문제를 풀까 하다가 '내가 못 푼 문제'를 눌러봤다. 내가 전에 풀다가 실패했던 문제들도 나와서 그것들을 풀어봤다. 먼저 풀 문제는 소인수 분해 문제~~ https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 💦1년 전에 시간초과 나온 코드 N=int(input()) # N이하 소수 찾아서 리스트 S에 넣기 S=[2,3] for i in range(4, N+1): if i%2==1: for j i..

[백준-파이썬] 22942: 데이터 체커

문제 보러 가기! 처음 아이디어 원의 중심 좌표 x 기준으로 정렬 옆에 있는 두 개 원씩 만나는지 보기 라는 아이디어로 짠 코드 두 개 원이 만나는지는 '힌트'에 있는 수학 공식을 참고했다 ! 코드 import sys input = sys.stdin.readline def is_meet(circle1, circle2): x1, r1 = circle1 x2, r2 = circle2 if (x1 - x2) == 0 and r1 != r2: # 동심원 return False if (r1 - r2) ** 2

[백준-파이썬] 1323: 숫자 연결하기

문제 보러 가기!! 와아... 많은 시간 초과를 겪은 끝에 드디어 맞았다. 🤣🤣 아이디어 ⭐ N이 K로 나눠지는지 본다. -> N을 두 번 써서 K로 나눠지는지 본다. -> 쭉 본다. K로 나눠지면(나머지가 0이면) 그만두고, N을 몇 번 썼는지 출력한다. 불가능한지 판단하는 기준은 ?? 나머지를 쭉 저장한다. -> 나왔던 나머지가 또 나오면, 그 패턴이 반복된다는 거니까 불가능하다고 본다. (이걸 증명하는 수학적인 개념은 모르겠는데, 찾아봐야겠다.) N을 n번 쓸 때 모듈러 연산을 활용했다 !! 나도 처음 알게 된 것이라서, 기억할 겸 쓴다. 모듈러 연산의 모듈러는 modulo 즉 나머지이다. 나머지를 구할 때 사용할 수 있는 세 가지 성질이 있다. (A+B) % C = (A%C + B%C) % C (..

728x90