import java.util.*;publicclassChildNumber{publicstaticvoidmain(String [] args){
Scanner cin =newScanner(System.in);int n = cin.nextInt();int m = cin.nextInt();
System.out.println(childNumber(n, m));}publicstaticintchildNumber(int n,int m){if(n <=0)return-1;
LinkedList<Integer> list =newLinkedList<>();for(int i =0; i < n; i++){
list.add(i);}int removeIndex =0;while(list.size()!=1){
removeIndex =(removeIndex + m -1)% list.size();
list.remove(removeIndex);}return list.get(0);}}
解法2:数学方法
import java.util.Scanner;publicclassChildNumber1{publicstaticvoidmain(String [] args){
Scanner cin =newScanner(System.in);int n = cin.nextInt();int m = cin.nextInt();
System.out.println(childNumber(n, m));}publicstaticintchildNumber(int n,int m){if(n <1|| m <1)return-1;// f (n, m) = (f(n-1), m) + m) % nint ans =0;for(int i =2; i <= n; i++){
ans =(ans + m)% n;}return ans;}}