Описание переменных и структур данных, которые применяются в программе
Имя переменной или объекта программы | Тип данных | Назначение |
a | int | Хранит введённое число |
k | int | Хранит количество сумм |
Текст программы
<form action="2315.php" method="get">
<b>Введите число:</b><br>
<input type="text" name="a" /> <br>
<input type="submit" value="Ok" />
</form>
<?
$a=$_GET['a'];
if($a){
echo 'Вы ввели: '.$a.'</br>';
if($a%2==0){
$k=0;
for ($i = 2; $i < $a; $i++) {
for($j = 2; $j < $i; $j++) {
if((f1($i)+f1($j))==$a){
echo $i."+".$j."=".$a."<br>";
$k++;
continue 2;
}}}
if($k==0)echo"Таких чисел нет";
}else echo"Введено не четное число";}
function f1($a){
if ($a == 1)
return 0;
for ($i = 2; $i <= $a/2; $i++){
if ($a % $i == 0)
return 0;}
return $a;}
?>
Контрольный пример
При вводе числа 18 программа выведет 11+7=18 и 13+5=18.
Блок 3. Рекурсия
Задание 3.1
Номер 1
Задание для выполнения, включая индивидуальное задание
Определите закономерность формирования членов последовательности. Найдите N-ый член последовательности, сократив количество рекурсивных вызовов. Составьте рекурсивную функцию для решения задач.
Текст программы
<form action="311.php" method="get">
<b>Введите число:</b>
<input type="text" name="a" /> <br>
<input type="submit" value="Ok" />
</form>
<?
$a=$_GET['a'];
if ($a){
echo 'Вы ввели: '.$a.'</br>';
echo f1($a);}
function f1($a){
if(($a==1)||($a==2)) return 1;
else return (f1($a-1)+f1($a-2));
}
?>
Контрольный пример
При вводе числа 6 программа выведет число 8.
Номер 2
Задание для выполнения, включая индивидуальное задание
|
|
Определите закономерность формирования членов последовательности. Найдите N-ый член последовательности, сократив количество рекурсивных вызовов. Составьте рекурсивную функцию для решения задач.
Текст программы
<form action="312.php" method="get">
<b>Введите число:</b>
<input type="text" name="a" /> <br>
<input type="submit" value="Ok" />
</form>
<?
$a=$_GET['a'];
if ($a){
echo 'Вы ввели: '.$a.'</br>';
echo f1($a);}
function f1($a){
if($a==1) return 1;
else if($a==2) return 2;
else return (f1($a-1)*f1($a-2));
}
?>
Контрольный пример
При вводе числа 6 программа выведет число 32.
Номер 14
Задание для выполнения, включая индивидуальное задание
Найдите значение функции для любых целых неотрицательных аргументов.
Описание алгоритма программы, (при необходимости - со схемой алгоритма)
Пусть a, b – вводимые числа.
Создаем функцию, которая принимает два значения f1(A,b). Если в ней A – четное число, то вернуть A/2. Если A равно 1, то вернуть значение b. Если ни одно из этих условия не выполнены, то вернуть значение f1((A+1)/2,b+1).
В главной функции если число целое и положительное то вызываем функцию f1(a,b), иначе выводим сообщение об ошибке.
|
|
Дата добавления: 2020-04-25; просмотров: 136; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!