두 개의 정수 n과 m를 입력하여 0-n에서 임의로 몇 개의 수를 취하여 m와 같게 하다
1495 단어 데이터 구조와 알고리즘
(2)n 가입, n=n-1, m=m-n을 취하여 귀속한다
import java.util.*;
public class {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int n = scanner.nextInt();//n
int sum = scanner.nextInt();//m
findSum(sum, n);
System.out.println(res);
//System.out.println(count);
//count = 0; //
res = new ArrayList<>();// res list
}
}
private static List list = new ArrayList<>();
private static List> res = new ArrayList<>();
// private static int count = 0;//
public static void findSum(int sum, int n) {
if (n < 1 || sum < 1)
return;
if (sum <= n) {//
list.add(sum); // sum < n , sum
res.add(new LinkedList<>(list));
list.remove(list.size() - 1);
// count++;//
return;
}
list.add(n);
findSum(sum - n, n - 1);// n , n=n-1,sum=sum-n
list.remove(list.size() - 1);
findSum(sum, n - 1); // n , n=n-1,sum=sum
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
두 갈래 나무의 깊이가 두루 다니다텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.