輸入 java.utilの。* ; クラスソリューション{ パブリック ブール divisorGame(int型のN){ 場合(N == 0 ){ 戻り 偽。 } 地図 <整数、ブール> ST = 新しい HashMapの<整数、ブール> (); st.put( 1、偽の); 以下のために(int型、N = iは<; I = 2 iが++ ){ ブール canWin = 偽。 用(int型 J = I / 2、J> 0; j-- ){ 場合(I%のJ == 0 ){ int型R = I- J。 もし(st.get(R)== 偽){ canWin = 真。 破ります; } } } st.put(I、canWin)。 } 戻り(st.get(N))。 } }