如果哪位大侠有更好的算法请教教我,谢谢。
*&---------------------------------------------------------------------*
*& Report ZJIANZH05
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zjianzh05.
DATA: snnum(5) VALUE '00000',
lnum type i,
c1(1),
c2(1),
c3(1),
c4(1),
c5(1),
n1(2) TYPE n,
n2(2) TYPE n,
n3(2) TYPE n,
n4(2) TYPE n,
n5(2) TYPE n.
do 300 times.
c1 = snnum(1).
c2 = snnum+1(1).
c3 = snnum+2(1).
c4 = snnum+3(1).
c5 = snnum+4(1).
PERFORM get_num USING c1 CHANGING n1.
PERFORM get_num USING c2 CHANGING n2.
PERFORM get_num USING c3 CHANGING n3.
PERFORM get_num USING c4 CHANGING n4.
PERFORM get_num USING c5 CHANGING n5.
n5 = n5 + 1.
IF n5 = 36.
n5 = 0.
n4 = n4 + 1.
IF n4 = 36.
n4 = 0.
n3 = n3 + 1.
IF n3 = 36.
n3 = 0.
n2 = n2 + 1.
IF n2 = 36.
n2 = 0.
n1 = n1 + 1.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
PERFORM get_char USING n1 CHANGING c1.
PERFORM get_char USING n2 CHANGING c2.
PERFORM get_char USING n3 CHANGING c3.
PERFORM get_char USING n4 CHANGING c4.
PERFORM get_char USING n5 CHANGING c5.
CONCATENATE c1 c2 c3 c4 c5 INTO snnum.
lnum = lnum + 1.
write:snnum.
if lnum = 15.
lnum = 0.
WRITE /.
endif.
enddo.
*&---------------------------------------------------------------------*
*& Form get_num
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_C1 text
* <--P_N1 text
*----------------------------------------------------------------------*
FORM get_num USING p_char
CHANGING p_num.
SEARCH '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' FOR p_char.
p_num = sy-fdpos.
ENDFORM. " get_num
*&---------------------------------------------------------------------*
*& Form get_char
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_C1 text
* <--P_N1 text
*----------------------------------------------------------------------*
FORM get_char USING p_num
CHANGING p_char.
DATA: l_string(36) VALUE '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'.
p_char = l_string+p_num.
ENDFORM. " get_char