본문 바로가기

PyPy36

백준 27434 팩토리얼 3 https://www.acmicpc.net/problem/27434 27434번: 팩토리얼 3 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 1 2 3 4 5 6 from math import factorial if __name__ == '__main__': n = int(input()) print(factorial(n)) cs 2023. 2. 9.
[백준] 3943 1 2 3 4 5 6 7 8 9 10 import sys for _ in range(int(sys.stdin.readline())): tmp=[] n=int(sys.stdin.readline()) while True: if 1 in tmp: break tmp.append(n) if n%2==0 : n//=2 else: n=n*3+1 print(max(tmp)) cs 일단 문제 자체는 쉬운데 문제는 시간제한이 걸려서 pypy3 로 통과했습니다. 손으로 그려가면서 해보니 n이 2의 제곱수가 되면 반복문을 탈출하는 것으로 하면 아마 시간이 조금 더 단축 될 것 같습니다. 2021. 2. 26.
[백준] 19575 1 2 3 4 5 6 7 8 9 10 11 12 13 14 import sys cnt=0 n,x=map(int, sys.stdin.readline().split()) index=[0]*(n+1) for i in range(n+1): a, ai=map(int,sys.stdin.readline().split()) index[ai]=a index=index[::-1] start=index[0]*x+index[1] for i in range(2,n+1): start= start*x+index[i] start%=(10**9+7) print(start) Colored by Color Scripter cs 문제에서 언급한대로 다항식을 개선해서 하지 않고 머리속에 떠오른 그대로 구현하면 시간초과가 뜹니더 예를들면~ 에.. 2021. 2. 8.
[백준] 16515 1 2 3 4 5 import math cnt=0 for i in range (int(input())+1): cnt+=1/math.factorial(i) print(cnt) cs 2021. 1. 18.
[백준] 9094 1 2 3 4 5 6 7 8 9 10 import sys def sh(n,m): cnt=0 for a in range(1,n): for b in range(a+1,n): if (a**2+b**2+m)%(a*b)==0: cnt+=1 return cnt for _ in range(int(sys.stdin.readline())): n,m=map(int,sys.stdin.readline().split()) print(sh(n,m )) cs 엄청난 브루트 포스 방식입니다. python3 시간초과나서 pypy3로 채점했습니다.. sorry.. 2020. 12. 24.
[백준] 4690 1 2 3 4 5 6 7 for a in range (2,101): for b in range(2, 101): for c in range(2, 101): for d in range(2, 101): if pow(a,3)==pow(b,3)+pow(c,3)+pow(d,3): if b 2020. 12. 23.