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
$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();
}