Форум программистов, компьютерный форум, киберфорум
Наши страницы
Free Pascal
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Free Pascal Дано натуральное число. Определить сколько в нем встречается первая цифра https://www.cyberforum.ru/free-pascal/thread626073.html
Дано натуральное число. Определить сколько в нем встречается первая цифра ПОМОГИТЕ ПОЖАЛУЙСТА
Free Pascal Через сколько лет сумма в банке станет больше А?
в Блаларусбанке под Р% годовых хранится сумма денег S . Через сколько лет сумма станет больше А?
Free Pascal Дана последовательность 1+1/2+1/3+...1/n. При каком значении n сумма станет больше а
Дана последовательность 1+1/2+1/3+...1/n. При каком значении n сумма станет больше а? ПОМОГИТЕ ПОЖАЛУЙСТА!!!
Free Pascal Где можно скачать компилятор Free Pascal для винды? С оффсайта выдает ошибку, перед гуглом решил сюда обратиться,может кто то конкретно знает? https://www.cyberforum.ru/free-pascal/thread625685.html
Free Pascal Листинг программы "Цифровая сортировка" https://www.cyberforum.ru/free-pascal/thread625668.html
вот код программы. мне нужно расписать что и как выполняется в каждой строке. кому не сложно, напишите. uses crt; Var A,B : array of integer; N,i : integer; t : longint; Procedure Sort;...
Заполнить двумерный массив в шахматном порядке Free Pascal
Зад.2 Создайте программу, которая заполняет двумерный массив 10х10 символами X и 0 в шахматном порядке:
Free Pascal Создайте программу, которая выдает количество максимальных элементов
Зад. 3 Создайте программу, которая выдает количество максимальных элементов
Free Pascal Как убрать нули в начале программы? Театральная площадь в столице Берляндии представляет собой прямоугольник n × m метров . По случаю очередного юбилея города, было принято решение о замощении площади квадратными гранитными плитами.... https://www.cyberforum.ru/free-pascal/thread625400.html
Free Pascal Останавливается работа FPC при наборе кода программы https://www.cyberforum.ru/free-pascal/thread624878.html
У меня сегодня возникла странная проблема: когда я начинаю писать код программы, то через некоторое время FPC намертво зависает, и я не могу произвести никаких действий. Одинаковая ситуация как в...
Free Pascal pascal+asm, не подключается модуль asm Не получается подключить модуль ассмблера ( находится в каталоге с .pas)). Для примера взял элементарный код на паскале: 1 {$L timer.o} 2 Procedure init_timer; cdecl; external; 3... https://www.cyberforum.ru/free-pascal/thread624807.html
vkostik
4 / 4 / 1
Регистрация: 22.07.2012
Сообщений: 10
22.07.2012, 20:10 0

рекурсивный перебор

22.07.2012, 20:10. Просмотров 5256. Ответов 1
Метки (Все метки)

Лучший ответ Сообщение было отмечено SeryZone как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
var s:string; // строка символов
    used:array[0..10] of boolean; // метка того, использовали ли мы элемент под номером i в перестановке
    a:array[0..10] of longint; // текущая перестановка
    i,n,j:longint; // n - длина строки, i,j - счетчики
    ch:char;
 
procedure dfs(v:longint); // процедура генерации
var i:longint; // счетчик
begin 
 if (v=n+1) // если перестановка сгенерирована
  then
   begin
    for i:= 1 to n do
     write(s[a[i]]);  // то выводим ее посимвольно
     writeln;
    exit;
   end;
  for i:= 1 to n do // иначе ищем элемент, который мы поставим на v-ое место
   if used[i] then // если элемент не использован
    begin
     a[v]:=i; // то ставим его на v-ое место
     used[i]:=false; // метим, что это элемент мы брали
     dfs(v+1); // переходим на следующую позицию
     used[i]:=true; // откат обратно
    end;
end;
 
 
begin
 readln(s); // ввод строки
 n:=length(s); // длина строки
 for i:= 1 to n-1 do  
  for j:= 1 to n-i do
   if (s[j]>s[j+1]) // это сортировка символов строки, потому что перестановки генерируются в алфавитном порядке
     then
      begin
       ch:=s[j];
       s[j]:=s[j+1];
       s[j+1]:=ch;
      end;
 for i:= 1 to n do
  used[i]:=true; // обнуление
 dfs(1); // запуск рекурсии
end.
Если что не понятно, пишите.

Вернуться к обсуждению:
рекурсивный перебор
3
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2012, 20:10
Готовые ответы и решения:

рекурсивный НОД
Даны натуральные числа n, m. Найти НОД(n,m), используя рекурсивную процедуру вычислентя Нод,...

рекурсивный алгоритм
Здравствуйте! Простая программа, но выдает ошибку: recurs5.pas (5,8) Fatal: Systax error, ''=''...

Рекурсивный спуск
Вводится с клавиатуры непустая последовательность из n положительных, вещественных чисел. Используя...

факториал ( c рекурсивный функцией )
uses crt; function faktorial(n:integer):integer; begin if n=0 then faktorial:=1 else...

Рекурсивный сдвиг массива
Доброго времени суток!!! Помогите пожалуйста!!! Дан массив x, состоящий из 10 вещественных...

1
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.