我正在 Windows 10 机器上使用 PHP 7.2.12

我想找出所有可能的4位十进制数的列表,其总和将等于用户指定的总和 .

请确保初始零,即在非零4位数字的开头可能有一个,两个或三个零 .

任何数字都可以在可能数字的任何位置重复 .

我尝试下面的代码找出4位十进制数的列表,其总和将等于14,但我无法打印出列表 .

请有人帮我找出相应的清单以及这些数字的数量 .

谢谢 .

以下是我尝试过的代码:

<?php 
// A PHP program using recursive to count numbers  
// with sum of digits as given 'sum' 

// Recursive function to count 'n' digit numbers 
// with sum of digits as 'sum'. This function 
// considers leading 0's also as digits, that is 
// why not directly called 
function countRec($n, $sum) 
{ 

    // Base case 
    if ($n == 0) 
    return $sum == 0; 

    if ($sum == 0) 
    return 1; 

    // Initialize answer 
    $ans = 0; 

    // Traverse through every  
    // digit and count 
    // numbers beginning with 
    // it using recursion 
    for ($i = 0; $i <= 9; $i++) 
    if ($sum-$i >= 0) 
        $ans += countRec($n-1, $sum-$i); 

    return $ans; 
} 

// This is mainly a wrapper 
// over countRec. It 
// explicitly handles leading 
// digit and calls 
// countRec() for remaining digits. 
function finalCount($n, $sum) 
{ 

    // Initialize final answer 
    $ans = 0; 

    // Traverse through every 
    // digit from 1 to 
    // 9 and count numbers 
    // beginning with it 
    for ($i = 1; $i <= 9; $i++) 
    if ($sum - $i >= 0) 
        $ans += countRec($n - 1, $sum - $i); 

    return $ans; 
} 

    // Driver Code 
    $n = 4;  
    $sum = 14; 
    echo finalCount($n, $sum); 

?>