백준/수학
-
백준 2052 python백준/수학 2023. 4. 24. 18:04
문제 https://www.acmicpc.net/problem/2052 2052번: 지수연산 자연수 N(1 ≤ N ≤ 250)이 주어졌을 때, 2의 -N승을 계산하는 프로그램을 작성하시오. 즉, 1/(2N)을 계산하는 것이다. www.acmicpc.net 풀이 2**-N을 소수점 아래 250자리까지 구한다. 뒤에서 0이 아닌 i 값을 찾는다. o='%.250f'%2**-int(input()) i=len(o)-1 while o[i]=='0': i-=1 print(o[:i+1]) 참조 https://jinho-study.tistory.com/457 백준 알고리즘 2052번 지수연산(python) 10**-4보다 작은 분수는 괜찮은데 그거보다 작은 분수는 1e-05와 같은 방식으로 저장이 되어있어서 따로 처리..
-
백준 15711 nodejs백준/수학 2023. 1. 23. 20:40
문제 https://www.acmicpc.net/problem/15711 15711번: 환상의 짝꿍 환상의 나라 디디랜드에서는 인연의 증표로 끈을 하나씩 가지고 있다. 그들은 지극히 평범한 방법으로 이 끈을 이용하여 어떤 두 사람이 환상의 짝꿍인지 판단하는데, 두 사람의 끈을 서로 이 www.acmicpc.net 풀이 4 이상의 짝수일 경우 골드바흐의 추측에 의해 두 소수의 합으로 나타낼 수 있다. 홀수일 경우 2+소수의 형태만 가능하다. 배열 A에 에라토스테네스의 체를 이용해 소수 배열 B를 만들고, 범위에 루트를 씌운 2000000까지의 소수를 찾는다. 범위 내의 모든 소수가 아닌 수는 B의 원소로 소인수 분해되므로, 이를 이용해 2000000을 초과하는 수에 대해 소수인지 판정한다. let [[],..
-
백준 11444 nodejs백준/수학 2022. 12. 27. 16:11
문제 https://www.acmicpc.net/problem/11444 11444번: 피보나치 수 6 첫째 줄에 n이 주어진다. n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 행렬 제곱을 이용한다. let [n, A, O] = [BigInt(require('fs').readFileSync('./dev/stdin').toString()), [[1n, 1n], [1n, 0n]], [[1n, 0n], [0n, 1n]]] function mul(A, B) { const C = [...Array(2)].map(_ => Array(2).fill(0n)) for (let i = 0; i < 2; i++) for (let j = 0; j < 2; j..