Показать сообщение отдельно
Старый 05.12.2010, 16:24   #1 (permalink)
SVMEREN
Новичок
 
Регистрация: 05.12.2010
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Задача о группах

: группу задать массивом, каждый элемент группы -- строкой из 4 символов.
n:=1 {номер элемента группы}
for i:=0 to 3 do for j:=0 to 3 do for k:=0 to 3 do for l:=0 to 3 do

if (i*l-j*k) mod 4 = 1 {усли определитель равен 1} then begin 1)перевести i, j, k, l в строку
2)присвоить очередному элементу массива а[n] строку ijkl.
3) увеличить счетчик на 1, n:=n+1
end.
После цикла n должно быть равно 61.
Выведи на экран все элементы массива (их 60).
Дальше можно отдельно сделать процедуру умножения двух строк abcd*xyzw=((ax+bz) mod 4)((ay+bw) mod 4)((cx+dz) mod 4)((cy+dw) mod 4) При этом, конечно, предваритель нужно переводить все в числа, а затем обратно с строку.

Обращаясь к процедуре умножения, можно определить порядок каждого элемента и вывести на экран циклическую подгруппу, порожденную элементом. Все делать в цикле, пока на очередном умножении не получится единичная матрица '1001'.
SVMEREN вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070