Const St: array[1..3] of string = ('Будапешт', 'Рим', 'Киев'); Nas: array[1..3] of real = (9.9, 61.5, 44.3); Kr: array[1..3] of string = ('Венгрия', 'Италия', 'Украина'); {Сведения о численности населения приведены по данным ресурса CountryMeters по состоянию на 03.07.2014}
var i: integer;
begin write('Введите 1-Венгрия, 2-Италия, 3-Украина -> '); readln(i); if i in [1..3] then writeln('Страна- ', Kr[i], ', столица- ', St[i], ', население (млн.чел.)- ', Nas[i]) else writeln('Неверный ввод!') end.
Тестовое решение:
Введите 1-Венгрия, 2-Италия, 3-Украина -> 2 Страна- Италия, столица- Рим, население (млн.чел.)- 61.5
St: array[1..3] of string = ('Будапешт', 'Рим', 'Киев');
Nas: array[1..3] of real = (9.9, 61.5, 44.3);
Kr: array[1..3] of string = ('Венгрия', 'Италия', 'Украина');
{Сведения о численности населения приведены по данным ресурса
CountryMeters по состоянию на 03.07.2014}
var
i: integer;
begin
write('Введите 1-Венгрия, 2-Италия, 3-Украина -> ');
readln(i);
if i in [1..3] then
writeln('Страна- ', Kr[i], ', столица- ', St[i], ', население (млн.чел.)- ', Nas[i])
else
writeln('Неверный ввод!')
end.
Тестовое решение:
Введите 1-Венгрия, 2-Италия, 3-Украина -> 2
Страна- Италия, столица- Рим, население (млн.чел.)- 61.5
$result = array();
$arr = array ('310'=>0.5, '311'=>0.375, '312'=>0.1);
function rec($str) {
$sum = 0;
foreach ($str as $i) #Вычисляем уже имеющуюся сумму
$sum += $GLOBALS["arr"][$i];
if ($sum == 1.5)
$GLOBALS["result"][] = $str;
if ($sum > 1.5) return;
foreach ($GLOBALS["arr"] as $key=>$value) {
$hello = $str; #Не знаю, насколько это легально, но заработало только так...
$hello[] = $key;
rec($hello);
}
}
if (min(array_values($arr)) <= 0) die(); #Бесконечнная рекурсия должна быть предотвращена
rec(array());
foreach ($result as &$value) #Переделываем массив массивов в массив строк
$value = implode(', ', $value);
unset($value);
print_r($result);
?>