PHP 检查一个值是否是具有公差的数字序列的一部分

标签 php math

我正在编写一个脚本,需要识别序列的第一个数字为 0 的每 7 个数字(因此序列为 6、13、20、27、34、41、48 等)

这是到目前为止我所得到的(以有限的方式工作),但我更喜欢编写一个循环,以便序列中的值不必进行硬编码:

<?php

$x = 7;

if ($x === 6 || $x === 13 || $x === 20 || $x === 27 || $x === 34 || $x === 41 || $x === 48) {
    $result = 1;
  } else {
    $result = 0;
}

echo $result;

?>

预先感谢您的任何建议!


更新:这是我使用 @robbieaverill 的解决方案并根据数组检查值的更新脚本。这里有很多很好的解决方案,谢谢大家!

<?php

$divisor = 7;
$limit = 500; 

$sequence = array();

for ($i = 0; $i <= $limit; $i++) {
  if (is_int(($i + 1) / $divisor)) {
    $sequence[] = $i;
  }
}

$x = 41;

if (in_array($x, $sequence, true)) {
  $result = 1;
} else {
  $result = 0;
}

echo $result;
?>

此处的输出为 1,表示如果 $x 的值为 41,则在 $sequence 数组中找到它。

最佳答案

可能有很多不同的方法可以做到这一点。如果您需要识别能被 7 整除的数字(加一,因为您是从零开始的),您可以执行类似 this 的操作。 :

$divisor = 7;
$limit = 100; // when do you want to stop searching?

for ($i = 0; $i <= $limit; $i++) {
    if (is_int(($i + 1) / $divisor)) {
        var_dump($i);
    }
}

请注意,is_int() 正在检查除法结果是否为整数,对于小数/ float ,它会返回 false。

关于PHP 检查一个值是否是具有公差的数字序列的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52067275/

相关文章:

PHP curl 错误 : "Unknown SSL protocol error in connection to..."

java - 尝试在 Java 中通过重复减法进行除法。从这往哪儿走?

javascript - 基于技能指数从 10 人列表中组成两个团队的算法

php - 如何使用php向mysql插入数据

php - 尝试让 While 处于 while 循环中工作

php - fuelphp属于关系,不同机型

php - 只读mysql数据库

c++ - e^x 的无限和收敛到一个不正确的值

c# - PHP、Javascript 或 C# 中的微分或无限集成?

java - 编写数学方程