일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- spotify
- MYSQL
- 회귀
- SECS/GEM
- modern c++
- SECS-II
- Spring
- regression
- Gem
- c
- 자바
- spring boot
- Computer Science
- C++
- SWEA
- 스포티파이
- 백준
- SW Expert Academy
- CS
- python
- 프로그래머스
- SECS
- Baekjoon
- programmers
- java
- 회원가입
- linux
- Spotify Api
- Spring JPA
- 파이썬
Archives
- Today
- Total
비버놀로지
[BAEKJOON 백준] 2407 조합 (JAVA) 본문
728x90
https://www.acmicpc.net/problem/2407
문제
nCm을 출력한다.
입력
n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n)
출력
nCm을 출력한다.
BigInteger을 활용을 해서 조합을 해결했습니다.
BigInteger을 사용하지 않고도 할 수 있는 방법이 있지않을까 찾아봐야하는 부분 같습니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st=new StringTokenizer(br.readLine());
int n=Integer.parseInt(st.nextToken());
int m=Integer.parseInt(st.nextToken());
BigInteger bigN=BigInteger.ONE;
BigInteger bigM=BigInteger.ONE;
for (int i = 0; i < m; i++) {
bigN=bigN.multiply(new BigInteger(String.valueOf(n-i)));
bigM=bigM.multiply(new BigInteger(String.valueOf(i+1)));
}
System.out.println(bigN.divide(bigM));
}
}
728x90
'ALGORITM > JAVA' 카테고리의 다른 글
[Programmers 프로그래머스] 97946 피로도 (JAVA) (0) | 2021.11.10 |
---|---|
[Programmers 프로그래머스] 86971 전력망을 둘로 나누기 (JAVA) (0) | 2021.11.10 |
[BAEKJOON 백준] 1629 곱셈 (JAVA) (0) | 2021.09.10 |
[BAEKJOON 백준] 11720 숫자의 합 (JAVA) (0) | 2021.09.10 |
[BAEKJOON 백준] 1546 평균 (JAVA) (2) | 2021.09.10 |
Comments