<html lang="ru">
<form method="get">
<label> Введите число n: </label>
<input type="number" name="n"/>
<br>
<input type="submit" value="Отправить"/></form>
<?php
$n = $_GET['n'];
$p=1;
$q=1;
for ($i=2;$i<=$n;$i++){
$p=$p*$i+$q;
$q=$i*$q;
}
echo "Сумма: ".$p."/". $q;
?>
</body>
</html>
Результат выполнения программы
Задача 2.3.2
Формулировка задачи
Два натуральных числа называются «дружественными», если каждое из них равно сумме всех делителей (кроме его самого) другого (например, числа 220 и 284). Найти все пары «дружественных чисел», которые не больше данного числа N.
Описание алгоритма программы
Пользователем с клавиатуры вводится число (переменная n), после чего находит все пары чисел, удовлетворяющие условию из дано.
Текст программы на языке PHP
<form name="y" method="GET">
Введите число N: <input type="text" name="n"><br><br>
<input type="submit">
</form>
<?php
$n=isset($_GET['n'])? $_GET['n']: NULL;
if (isset($n))
{
$m=0;
$q=0;
for ($i=1; $i<=$n; $i++)
{
for ($j=1; $j<=$n; $j++)
{
if(($i%$j)==0)
$q++;
}
for ($t=1; $t<=$n; $t++)
{
for ($x=1; $x<=$n; $x++)
{
if(($t%$x)==0)
$m++;
}
if (($q==$m) && ($i!=$t))
echo $i." и ". $t. "<br>";
$m=0;
}
$q=0;
}
}
?>
Результат выполнения программы
Раздел 3. Рекурсия
БЛОК 3.1
Задача 3.1.1
Формулировка задачи
Определите закономерность формирования членов последовательности. Найдите N -ый член последовательности, сократив количество рекурсивных вызовов. Составьте рекурсивную функцию для решения задач.
1. 1, 1, 2, 3, 5, …
Описание алгоритма программы
Пользователь вводит с клавиатуры число N, для которого хочет посчитать N-ный член последовательности. Программа с помощью рекурсивной функции считает результат по формуле общего члена последовательности.
|
Текст программы на языке PHP
<form name="y" method="GET">
Введите N: <input type="text" name="n"><br><br>
<input type="submit">
</form>
<?php
$a=isset($_GET['n'])? $_GET['n']: NULL;
if(isset($a))
{
$arr = array();
$arr[1] = '1';
$arr[2] = '1';
for ($i = 3; $i <= $a; $i++)
{
$arr[$i] = $arr[$i-1] + $arr[$i-2];
}
for ($i = 1; $i <= $a; $i++)
{
echo $arr[$i]."<br>";
}
echo "N-ый член последовательности - ". $arr[$a];
}
?>
Результат выполнения программы
Задача 3.1.2
Формулировка задачи
Определите закономерность формирования членов последовательности. Найдите N -ый член последовательности, сократив количество рекурсивных вызовов. Составьте рекурсивную функцию для решения задач.
1. 1, 2, 2, 4, 8, …
Описание алгоритма программы
Пользователь вводит с клавиатуры число N, для которого хочет посчитать N-ный член последовательности. Программа с помощью рекурсивной функции считает результат по формуле общего члена последовательности.
Текст программы на языке PHP
<form name="y" method="GET">
Введите N: <input type="text" name="n"><br><br>
<input type="submit">
</form>
<?php
$a=isset($_GET['n'])? $_GET['n']: NULL;
if(isset($a))
{
$arr = array();
$arr[1] = '1';
$arr[2] = '2';
$arr[3] = '2';
for ($i = 4; $i <= $a+1; $i++)
{
$arr[$i] = $arr[$i-1] * $arr[$i-2];
}
for ($i = 1; $i <= $a; $i++)
{
echo $arr[$i]."<br>";
}
echo "N-ый член последовательности - ". $arr[$a];
}
?>