Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中为给定数字的可能概率(组合)创建数组_Php_Discrete Mathematics - Fatal编程技术网

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

如何在php中为给定数字的可能概率(组合)创建数组,php,discrete-mathematics,Php,Discrete Mathematics,我有一个面向数学的问题。这里我想得到所有可能的组合 并希望存储在阵列中 例如:- 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 } 函数结果应该是 0000000001000100,…. 排列 不像 0,1,2,…00,01,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 

} 
函数结果应该是 0000000001000100,….

排列

不像 0,1,2,…00,01,03,…99999

编辑

我还喜欢将一些字母与数字混合

结果像

0000a,000A1000Z10000010000,….

提前谢谢

$n = ???;
$array = range(0, pow(10, $n)-1);

是,没有以
零开始的整数

因此,不要费心构建一个以前导
零开始的数组,
当您需要输出时可以应用



不能有
0000
的整数,因为它只是
0

要获取0到9之间的所有数字,请使用

更大的数字也是如此

如果希望将它们作为字符串,请使用sprintf或与之相关的文件来重新格式化该数组

或者只需为(
循环:)

$result=array()使用
;
$count=战俘(10,$x);
对于($i=0,$i<$count,$i++){
$result[]=str_repeat('0',$x-strlen($i))。$i;
}
函数获取组合($exp){
$max=pow(10$exp)-1;
对于($i=0;$i如何:

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

你可以从0数到10^5-1,必要时可以加前导零。我觉得在这里把所有的东西都放在一个数组中是错误的解决方案。你可能会一次使用一个数组值,那么为什么要预先计算它们,而不只是根据需要在循环中生成它们呢?
2位=99(00,01,02,03,…)
这不好笑,但答案不就是你的目的地号码吗?例如10-1或100-1??加上填充的零?为什么你需要一个数组?我需要数组中的结果。你能给我一个建议吗?结果已经在数组中了…不太确定还缺少什么?我还需要一个帮助。我喜欢把字母表和数字混在一起请检查我的编辑。
$array = range(0,9); // array(0,1,2,3,4,5,6,7,8,9)
$result = array();
$count = pow(10,$x);
for ($i = 0, $i < $count, $i++) {
  $result[] = str_repeat('0', $x - strlen($i)) . $i;
}
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;

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