<?php
function
findNDigitNumsUtil(
$n
,
$sum
,
$out
,
$index
)
{
if
(
$index
>
$n
||
$sum
< 0)
return
;
if
(
$index
==
$n
)
{
if
(
$sum
== 0)
{
$out
[
$index
] =
''
;
foreach
(
$out
as
&
$value
)
print
(
$value
);
print
(
" "
);
}
return
;
}
for
(
$i
= 0;
$i
<= 9;
$i
++)
{
$out
[
$index
] =
chr
(
$i
+ ord(
'0'
));
findNDigitNumsUtil(
$n
,
$sum
-
$i
,
$out
,
$index
+ 1);
}
}
function
findNDigitNums(
$n
,
$sum
)
{
$out
=
array_fill
(0,
$n
+ 1, false);
for
(
$i
= 1;
$i
<= 9;
$i
++)
{
$out
[0] =
chr
(
$i
+ ord(
'0'
));
findNDigitNumsUtil(
$n
,
$sum
-
$i
,
$out
, 1);
}
}
$n
= 2;
$sum
= 3;
findNDigitNums(
$n
,
$sum
);
?>