[GESP202409 六级] 小杨和整数拆分 Java
import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();sc.close();int[] dp = new int[n + 1];for (int i = 1; i <= n; i++) {dp[i] = i; // 最坏的情况,i个1的平方和for (int j = 1; j * j <= i; j++) { // 遍历每个完全平方数j * jdp[i] = Math.min(dp[i], dp[i - j * j] + 1); // 使用最小最优解,使用数量+1}}System.out.println(dp[n]);}
}
每日一水~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~