Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
41
Task/Best-shuffle/Seed7/best-shuffle.seed7
Normal file
41
Task/Best-shuffle/Seed7/best-shuffle.seed7
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
$ include "seed7_05.s7i";
|
||||
|
||||
const func string: bestShuffle (in string: stri) is func
|
||||
result
|
||||
var string: shuffled is "";
|
||||
local
|
||||
var char: tmp is ' ';
|
||||
var integer: i is 0;
|
||||
var integer: j is 0;
|
||||
begin
|
||||
shuffled := stri;
|
||||
for key i range shuffled do
|
||||
for key j range shuffled do
|
||||
if i <> j and stri[i] <> shuffled[j] and stri[j] <> shuffled[i] then
|
||||
tmp := shuffled[i];
|
||||
shuffled @:= [i] shuffled[j];
|
||||
shuffled @:= [j] tmp;
|
||||
end if;
|
||||
end for;
|
||||
end for;
|
||||
end func;
|
||||
|
||||
const proc: main is func
|
||||
local
|
||||
const array string: testData is [] ("abracadabra", "seesaw", "elk", "grrrrrr", "up", "a");
|
||||
var string: original is "";
|
||||
var string: shuffled is "";
|
||||
var integer: j is 0;
|
||||
var integer: score is 0;
|
||||
begin
|
||||
for original range testData do
|
||||
shuffled := bestShuffle(original);
|
||||
score := 0;
|
||||
for key j range shuffled do
|
||||
if original[j] = shuffled[j] then
|
||||
incr(score);
|
||||
end if;
|
||||
end for;
|
||||
writeln(original <& ", " <& shuffled <& ", (" <& score <& ")");
|
||||
end for;
|
||||
end func;
|
||||
Loading…
Add table
Add a link
Reference in a new issue