Php 将一个数字等分并存储其累积和

Php 将一个数字等分并存储其累积和,php,math,Php,Math,简单的问题,除法一个数时,如何得到每个选项?例如: 24x6返回6,12,18,24 24x4返回4,8,12,16,20,24 24x5返回false 我的数据库中有一个数字,例如2,我的计数器,例如14。这意味着每次我的计数器点击第二个数字时,我都想触发我的事件。所以我想,如果我有解2、4、6等等,并且我的计数器等于其中一个解,我就可以触发我的事件。应该很容易 对X乘以Y做一个模。如果为0,则对X进行Y除法。创建一个从1到(对X进行Y除法)的循环,输出Y乘以循环计数器应该很容易 对X乘以

简单的问题,除法一个数时,如何得到每个选项?例如:

  • 24x6
    返回
    6,12,18,24
  • 24x4
    返回
    4,8,12,16,20,24
  • 24x5
    返回
    false
我的数据库中有一个数字,例如2,我的计数器,例如14。这意味着每次我的计数器点击第二个数字时,我都想触发我的事件。所以我想,如果我有解2、4、6等等,并且我的计数器等于其中一个解,我就可以触发我的事件。

应该很容易 对X乘以Y做一个模。如果为0,则对X进行Y除法。创建一个从1到(对X进行Y除法)的循环,输出Y乘以循环计数器应该很容易 对X乘以Y做一个模。如果为0,则对X进行Y除法。创建一个从1到(对X进行Y除法)的循环,输出Y乘以循环计数器

$number = 24;
$divider = 6;
if($number % $divider != 0 )
{ 
    return false;
}
$div = $number / $divider;

for($i = 1; $i <= $div; $i++)
{
    echo $i*$divider;
}
$number=24;
$divider=6;
如果($number%$divider!=0)
{ 
返回false;
}
$div=$number/$divider;
对于($i=1;$i试试这个

$number = 24;
$divider = 6;
if($number % $divider != 0 )
{ 
    return false;
}
$div = $number / $divider;

for($i = 1; $i <= $div; $i++)
{
    echo $i*$divider;
}
$number=24;
$divider=6;
如果($number%$divider!=0)
{ 
返回false;
}
$div=$number/$divider;

对于($i=1;$i,下面的代码片段就可以做到这一点。它是一个简单的循环,可以迭代到
$num
为0;$i++){ $divider[]=($i*$div); $num-=$div; } 回显“in:”.$num.“
”; 回显“div:”.$div.
; 回声'; 打印(分隔符); 出口
下面的代码片段就可以做到这一点。这是一个简单的循环,可以迭代到
$num
为0;$i++){ $divider[]=($i*$div); $num-=$div; } 回音“in:”$嗯
; 回显“div:”$“迪夫。”
; 回声'; 打印(分隔符); 出口
函数查找商($number,$divider)
{
$arr=array();
如果($number%$divider!=0)
{
//返回“false”;
}
其他的
{
$loop=$number/$divider;
//$output=“”;
对于($i=1;$i
函数查找商($number,$divider)
{
$arr=array();
如果($number%$divider!=0)
{
//返回“false”;
}
其他的
{
$loop=$number/$divider;
//$output=“”;

对于($i=1;$i,根据您的描述,您需要将一个数字相乘,然后根据给定的结果,您需要将一个函数变白:

function steps($target,$step) {
    if (($target % $step) != 0)
        return FALSE;
    $steps = range($step,$target,$step);
    return $steps;
}

$target = 24;
for ($step = 2; $step < 13; ++$step) {
    echo '$step = ',$step,PHP_EOL;
    $steps = steps($target,$step);
    var_dump($steps);
}

根据您的描述,您需要将一个数字相乘,然后根据给定的结果,您需要将一个函数变白:

function steps($target,$step) {
    if (($target % $step) != 0)
        return FALSE;
    $steps = range($step,$target,$step);
    return $steps;
}

$target = 24;
for ($step = 2; $step < 13; ++$step) {
    echo '$step = ',$step,PHP_EOL;
    $steps = steps($target,$step);
    var_dump($steps);
}
功能步骤($target,$step){
如果($target%$step)!=0)
返回FALSE;
$steps=范围($step,$target,$step);
返回$steps;
}
$target=24;
对于($step=2;$step<13;++$step){
回显“$step=”,$step,PHP_EOL;
$steps=步骤($target$step);
var_dump(步骤);
}
功能步骤($target,$step){
如果($target%$step)!=0)
返回FALSE;
$steps=范围($step,$target,$step);
返回$steps;
}
$target=24;
对于($step=2;$step<13;++$step){
回显“$step=”,$step,PHP_EOL;
$steps=步骤($target$step);
var_dump(步骤);
}

制作起来相当琐碎


制作起来相当琐碎



你能再解释一下吗?我真的错过了这个问题…:(@true稍后回来,我会补充一些信息。你对哪部分有问题?你尝试了什么?@gordon:我认为商在这里是误导性的。
24乘以6的商是
4
。这在某种程度上与商集有关,但无论如何,结果都是等价类。你能解释一下吗更多?我真的错过了这个问题…:(@true请稍后再试,我会添加一些信息。你对哪部分有问题?你尝试了什么?@gordon:我认为商在这里是误导性的。
24乘以6的商是
4
。这在某种程度上与商集有关,但在任何情况下,结果都是等价类。这不会返回,它会回显。这不会返回,它会回显。这不会返回,它会回显。@Truth:我已经更新了我的代码。现在你可以删除-1。谢谢:)虽然我仍然不喜欢你返回字符串的事实,但你的答案没有那么可怕。-1已删除:)这不会返回,它会回显。@Truth:我已经更新了我的代码。现在你可以删除-1。谢谢:)虽然我仍然不喜欢您返回字符串的事实,但您的答案并没有那么糟糕。-1删除:)这不会返回,它会回显。别那么奇怪,这只是一个例子。作为一个初学者作者,我不能用这个例子做任何事情。至少解释一下如何最小限度地使它适应显示以外的需要!这不会返回,它会回显。别那么奇怪,这只是一个例子。作为一个初学者作者,我不能用这个例子做任何事情。至少至少解释一下如何最小限度地调整它以适应显示以外的需要!这不会返回它将回显。我使用了回显,你可以使用返回或任何你需要的东西。这不会返回它将回显。我使用了回显,你可以使用返回或任何你需要的东西实际上不需要循环。使用
range()
。实际上不需要循环。使用
range()
+1巧妙地使用
range
。我认为您不需要抛出异常,而是需要返回一个空数组。整个过程可以像
返回$number%$base==0?range($base,$number,$base):array()
@Gordon:Meh,我认为这是一个例外情况,所以应该抛出一个异常。空数组是另一种选择。+1用于巧妙地使用
范围
。我认为你不需要抛出异常,而是返回一个空数组。整个过程可以像
返回$number%$base==0?范围($base,$number,$base)一样简单:array();
@Gordon:Meh,我认为这是一个例外情况,所以应该抛出一个例外。空数组是另一个选项。
function steps($target,$step) {
    if (($target % $step) != 0)
        return FALSE;
    $steps = range($step,$target,$step);
    return $steps;
}

$target = 24;
for ($step = 2; $step < 13; ++$step) {
    echo '$step = ',$step,PHP_EOL;
    $steps = steps($target,$step);
    var_dump($steps);
}
<?php

/**
 * @param int $number  The beginning number
 * @param int $divider The number dividing by
 *
 * @return array
 * @throws Exception   In case $number is not divisible by $divider
 */
function get_number_sequence($number, $divider) {
    //In case $number is not divisible by $divider, throw an Exception.
    if ($number % $divider !== 0) {
        throw new Exception("$number is not divisible by $divider");
    }
    //Return an array from $divider to $number in steps of $divider.
    $result = range($divider, $number, $divider);
    return $result;
}

/*
 * Testing begins
 */

try {
    echo "<pre>";
    echo implode(", ", get_number_sequence(24, 4)) . PHP_EOL;
    echo implode(", ", get_number_sequence(24, 6)) . PHP_EOL;
    echo implode(", ", get_number_sequence(24, 5)) . PHP_EOL;
    echo "</pre>";
}
catch (Exception $e) {
    echo "Invalid: " . $e->getMessage();
}