목록전체 글 (601)
sm 기술 블로그
import java.util.*; import java.io.*; class Main { static long P = 1000000007; public static void main(String[] args) { Scanner sc = new Scanner(System.in); long N = sc.nextLong(); long K = sc.nextLong(); long A = factorial(N); long B = factorial(K) * factorial(N - K) % P; System.out.println(A * pow(B, P - 2) % P); } private static long pow(long base, long expo) { if (expo == 0) { return 1; } lo..
import sys input = sys.stdin.readline N, K = map(int, input().split()) P = 1000000007 def pow(base, expo): if expo == 0: return 1 tmp = pow(base, expo // 2) if expo % 2 == 1: return (tmp * tmp % P) * base % P else: return tmp * tmp % P def factorial(N): f = 1 while (N > 1): f = (f * N) % P N -= 1 return f # A는 분자 B는 분모 # 분자 N! A = factorial(N) # 분모 (K! * (N-K)!) mod p B = factorial(K) * factoria..
import java.util.*; import java.io.*; class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); long A = sc.nextLong(); long B = sc.nextLong(); long C = sc.nextLong(); System.out.println(power(A, B, C)); } private static long power(long A, long B, long C) { if (B == 0) { return 1; } long tmp = power(A, B / 2, C); if (B % 2 == 1) { return (tmp * tmp % C) * A % C; ..
import sys input = sys.stdin.readline A, B, C = map(int, input().split()) def power(A, B, C): if B == 0: return 1 tmp = power(A, B//2, C) if B % 2 == 1: return (tmp * tmp * A) % C else: return (tmp * tmp) % C print(power(A, B, C)) 문제요약 A,B,C가 주어지는데 A를 B번 곱한 값을 C로 나누어라 (A,B,C