Кто нибудь может помочь мне с построением циклической структуры?
A = {a1, a2, …, an} на себя, изображаемое либо с помощью выражения, либо двумя строчками
в которой все индексы различны, либо совокупностью циклов . В один цикл включаются элементы в следующем порядке причем . Например, если то f = (a1, a3, a4) (a2, a6) (a5). Числа r1, r2, … , rs называются циклической структурой подстановки f.
Если заданы две подстановки f и g , то их произведением является новая подстановка h = f*g, которая определяется как h(a) = g(f(a)) для всякого а из А
Задание. По двум заданным подстановкам f0 и f1 на множестве A и последовательности m1, m2, … , mq из нулей и единиц построить подстановку , вычислить ее циклическую структуру и напечатать. Последовательность m1, m2, … , mq вводится в программу.
)
f0(k) =k+1,если 1<k<10 или f0(k)=21-k если 11< k<20
f1(k)=20-1,если 1<k<19 или f1(k)=20 если k=20
Раз:
Код:
int f[19];
for(int k = 1; k < 20; k++)
if(k < 10)
f[k - 1] = k + 1
else
f[k - 1] = 21 - k;
for(int k = 1; k < 20; k++)
if(k < 10)
f[k - 1] = k + 1
else
f[k - 1] = 21 - k;
Код:
int f[20];
for(int k = 1; k < 21; k++)
if(k < 19)
f[k - 1] = 20 - 1
else
f[k - 1] = 20;
for(int k = 1; k < 21; k++)
if(k < 19)
f[k - 1] = 20 - 1
else
f[k - 1] = 20;
а как вычислить циклическую структуру?)
и как делать подстановку h=f0(f1(k))
Вам, простите, что нужно: сам алгоритм или оформить все это в виде функций и подставить друг в друга? :)
алгоритм)
Б. Кёрниган, Д. Ритчи - Язык программирования Си, раздел "Функции". :)
Я еще раз прошу прощения. Вы можете составить функции из приведенных кусков кода и подставить одну в другую? Если нет, советую замечательную книгу