【发布时间】:2017-09-06 03:25:28
【问题描述】:
我被要求提供一种仅使用一个变量和一个 for 循环的算法。不使用函数、数组或任何其他函数。只有一个输入是唯一的变量,还有一个 for 循环,它应该显示一个 1 2 4 8 ... 的数字序列,具体取决于输入值。您将在表单中输入值,然后在提交后,发布的数据将是唯一要操作的变量。
例如输入值为 20,所以应该显示
1 2 4 8 11 12 14 18
如果输入值为50,应该显示
1 2 4 8 11 12 14 18 21 22 24 28 31 32 34 38 41 42 44 48
我知道已经有人询问过这样的similar question,但我认为它已经关闭了。
这是迄今为止我在php数学问题中遇到的最难的问题。请帮帮我。
完成这项工作的人给了我一个线索,这只是 For 循环 的 第三个元素 中的方程式问题,传统上设计用于递增/递减 p>
这方面的一个工作示例是这样的。 (感谢localheinz)
<?php
$input = 20;
$a = function ($n) {
return 10 * floor($n / 4);
};
$b = function ($n) {
return 2 ** ($n % 4);
};
for ($n = 0; $input >= $value = $a($n) + $b($n) ; ++$n){
echo $value." ";
}
?>
但是你们都知道它不是在一个单一的变量中,而是在使用函数。因此,即使它显示相同的结果,也不会被接受。
【问题讨论】:
标签: loops variables for-loop numbers