Задание для выполнения, включая индивидуальное задание
Разработайте рекурсивную функцию или процедуру для решения задачи.
Расставьте 8 ферзей на шахматной доске размером 8 X 8. Найдите хотя бы одну расстановку и выведите результат в виде последовательности из 8 символов, указав номер строки каждого ферзя (например, 24683175).
Текст программы
<?php
$board = array_fill(0, 8, array_fill(0,8,0));
function showBoard(){
global $board;
for($a = 0; $a < 8; ++$a){
for($b = 0; $b < 8; ++$b){
if($board[$a][$b]==1) echo $b;
}}}
function tryQueen($a, $b){
global $board;
for($i = 0; $i < $a; ++$i){
if($board[$i][$b]){
return false;
}}
for($i = 1; $i <= $a && $b-$i >= 0; ++$i){
if($board[$a-$i][$b-$i]){
return false;
}}
for($i = 1; $i <= $a && $b+$i < 8; $i++){
if($board[$a-$i][$b+$i]){
return false;
}}
return true;
}
function setQueen($a){
global $results_count, $board;
if($a == 8){
showBoard();
exit;
}
for($i = 0; $i < 8; ++$i){
if(tryQueen($a, $i)){
$board[$a][$i] = 1;
setQueen($a+1);
$board[$a][$i] = 0;
}}
return;
}
setQueen(0);
?>
Контрольный пример
Номер 2
Задание для выполнения, включая индивидуальное задание
Разработайте рекурсивную функцию или процедуру для решения задачи.
Для данного натурального числа от 2 до 20 распечатайте количество его различных разбиений на сумму натуральных слагаемых. Например, для числа 6 количество разбиений равно 11.
Текст программы
<form action="332.php" method="get">
<b>Введите число:</b><br>
<input type="text" name="a" /> <br>
<input type="submit" value="Ok" />
</form>
<?
$a=$_GET['a'];
if($a){
$k=0;
echo 'Вы ввели: '.$a.'</br>';
echo f1($a)+1;}
function f1($a,$start = 1) {
if ($a <= $start) {
|
|
return 0;
}
$count = floor($a / 2);
for ($res = 0, $i = $start; $i <= $count; ++$i) {
$res += 1 + f1($a - $i, $i);
}
return $res;
}
?>
Контрольный пример
При вводе числа 6 программа выведет число 11.
Номер 14
Задание для выполнения, включая индивидуальное задание
Разработайте рекурсивную функцию или процедуру для решения задачи.
Отсортируйте одномерный массив с помощью алгоритма бинарной пирамидальной сортировки.
Описание алгоритма программы, (при необходимости - со схемой алгоритма)
Описание переменных и структур данных, которые применяются в программе
Имя переменной или объекта программы | Тип данных | Назначение |
a | int | Хранит введённое число |
k | int | Хранит количество сумм |
Текст программы
Контрольный пример
Дата добавления: 2020-04-25; просмотров: 123; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!