Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
61
Task/Rep-string/NetRexx/rep-string.netrexx
Normal file
61
Task/Rep-string/NetRexx/rep-string.netrexx
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
/* NetRexx */
|
||||
options replace format comments java crossref symbols nobinary
|
||||
|
||||
/* REXX ***************************************************************
|
||||
* 11.05.2013 Walter Pachl
|
||||
**********************************************************************/
|
||||
runSample(arg)
|
||||
return
|
||||
|
||||
/**
|
||||
* Test for rep-strings
|
||||
* @param s_str a string to check for rep-strings
|
||||
* @return Rexx string: boolean indication of reps, length, repeated value
|
||||
*/
|
||||
method repstring(s_str) public static
|
||||
s_str_n = s_str.length()
|
||||
rep_str = ''
|
||||
Loop lx = s_str.length() % 2 to 1 By -1
|
||||
If s_str.substr(lx + 1, lx) = s_str.left(lx) Then Leave lx
|
||||
End lx
|
||||
If lx > 0 Then Do label reps
|
||||
rep_str = s_str.left(lx)
|
||||
Loop ix = 1 By 1
|
||||
If s_str.substr(ix * lx + 1, lx) <> rep_str Then
|
||||
Leave ix
|
||||
End ix
|
||||
If rep_str.copies(s_str_n).left(s_str.length()) <> s_str Then
|
||||
rep_str = ''
|
||||
End reps
|
||||
Return (rep_str.length() > 0) rep_str.length() rep_str
|
||||
|
||||
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
method runSample(arg) public static
|
||||
parse arg samples
|
||||
if samples = '' then -
|
||||
samples = -
|
||||
'1001110011' -
|
||||
'1110111011' -
|
||||
'0010010010' -
|
||||
'1010101010' -
|
||||
'1111111111' -
|
||||
'0100101101' -
|
||||
'0100100' -
|
||||
'101' -
|
||||
'11' -
|
||||
'00' -
|
||||
'1'
|
||||
|
||||
loop w_ = 1 to samples.words()
|
||||
in_str = samples.word(w_)
|
||||
parse repstring(in_str) is_rep_str rep_str_len rep_str
|
||||
|
||||
sq = ''''in_str''''
|
||||
tstrlen = sq.length().max(20)
|
||||
sq=sq.right(tstrlen)
|
||||
if is_rep_str then
|
||||
Say sq 'has a repetition length of' rep_str_len "i.e. '"rep_str"'"
|
||||
else
|
||||
Say sq 'is not a repeated string'
|
||||
end w_
|
||||
return
|
||||
Loading…
Add table
Add a link
Reference in a new issue