如何在php中为给定数字创建可能的概率(组合)数组

发布于 2024-11-16 01:42:27 字数 602 浏览 4 评论 0原文

我有一个面向数学的问题。在这里我想得到所有可能的组合 并希望存储在数组中。

例如:-

1 digit = 10 (0,1,2,3,....9) 
2 digit = 100 (00,01,02,03,...)

我有公式来查找可能性的数量,即 10^n -1。但我不知道如何获得这些值。

function get_combinations(5){
//10^5 -1 = 99999 values 

} 

函数结果应该是

00000,00001,00010,00100,....

数组中的

而不是

0,1,2,....00,01,03,... 99999

编辑

我也喜欢将一些字母与数字

结果混合在一起,例如

0000a,000a1,000z1,00001,00000,....

提前致谢

I am having mathematics oriented question.Here i like to get the all possible combinations
and looking to store in array.

For example:-

1 digit = 10 (0,1,2,3,....9) 
2 digit = 100 (00,01,02,03,...)

I am having formula to find number of possibilities i.e 10^n -1.But i don't know how can i get the values.

function get_combinations(5){
//10^5 -1 = 99999 values 

} 

the function result should be

00000,00001,00010,00100,....

in array

not like

0,1,2,....00,01,03,...99999

EDIT

I also like to mix some alphabets with the number

results like

0000a,000a1,000z1,00001,00000,....

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

妳是的陽光 2024-11-23 01:42:27
$n = ???;
$array = range(0, pow(10, $n)-1);

是的,没有以开头的整数,

所以,不用费心构造一个以开头的数组,
当需要输出 str_pad 时可以应用


function get_combinations($n)
{
  return range(0, pow(10, $n)-1);
}

$array = get_combinations(5);
$pad   = strlen(max($array));

// to output
echo str_pad($array[0], $pad, 0, STR_PAD_LEFT);
$n = ???;
$array = range(0, pow(10, $n)-1);

yes, there is no integer start with zero

so, dun bother to construct an array start with leading zero,
when you need to output str_pad can be applied


function get_combinations($n)
{
  return range(0, pow(10, $n)-1);
}

$array = get_combinations(5);
$pad   = strlen(max($array));

// to output
echo str_pad($array[0], $pad, 0, STR_PAD_LEFT);
爱格式化 2024-11-23 01:42:27
$result = array();
$count = pow(10,$x);
for ($i = 0, $i < $count, $i++) {
  $result[] = str_repeat('0', $x - strlen($i)) . $i;
}
$result = array();
$count = pow(10,$x);
for ($i = 0, $i < $count, $i++) {
  $result[] = str_repeat('0', $x - strlen($i)) . $i;
}
可遇━不可求 2024-11-23 01:42:27

您不能使用 0000 整数,因为它只是 0

要获取从 0 到 9 的所有数字 range() 函数< /a>:

$array = range(0,9); // array(0,1,2,3,4,5,6,7,8,9)

对于更大的数字也是如此。

如果您希望它们作为字符串,请使用 sprintf 或与重新格式化该数组相关的内容。

或者只是使用 for( 循环:)

You can't have an integer that is 0000 because that is just 0.

To get all numbers from 0 to 9 use the range() function:

$array = range(0,9); // array(0,1,2,3,4,5,6,7,8,9)

And alike for bigger numbers.

If you want them as strings use sprintf or related to reformat that array.

Or just use a for( loop :)

早乙女 2024-11-23 01:42:27

怎么样:

$n = 3;
function format($x) {
    global $n;
    return sprintf("%0${n}d", $x);
}
$arr = array_map('format', range(0, pow(10,$n)-1));

How about:

$n = 3;
function format($x) {
    global $n;
    return sprintf("%0${n}d", $x);
}
$arr = array_map('format', range(0, pow(10,$n)-1));
浅忆流年 2024-11-23 01:42:27
function get_combinations($exp){

    $max = pow(10, $exp) - 1;

    for ($i = 0; $i <= $max; $i++) $comb[] = str_pad($i, $exp, '0', STR_PAD_LEFT);

    return $comb;

} 
function get_combinations($exp){

    $max = pow(10, $exp) - 1;

    for ($i = 0; $i <= $max; $i++) $comb[] = str_pad($i, $exp, '0', STR_PAD_LEFT);

    return $comb;

} 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文