new files
This commit is contained in:
parent
3af7344581
commit
86c034bb8b
1364 changed files with 21352 additions and 0 deletions
45
Task/Ackermann-function/ABAP/ackermann-function.abap
Normal file
45
Task/Ackermann-function/ABAP/ackermann-function.abap
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
REPORT zhuberv_ackermann.
|
||||
|
||||
CLASS zcl_ackermann DEFINITION.
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS ackermann IMPORTING m TYPE i
|
||||
n TYPE i
|
||||
RETURNING value(v) TYPE i.
|
||||
ENDCLASS. "zcl_ackermann DEFINITION
|
||||
|
||||
|
||||
CLASS zcl_ackermann IMPLEMENTATION.
|
||||
|
||||
METHOD: ackermann.
|
||||
|
||||
DATA: lv_new_m TYPE i,
|
||||
lv_new_n TYPE i.
|
||||
|
||||
IF m = 0.
|
||||
v = n + 1.
|
||||
ELSEIF m > 0 AND n = 0.
|
||||
lv_new_m = m - 1.
|
||||
lv_new_n = 1.
|
||||
v = ackermann( m = lv_new_m n = lv_new_n ).
|
||||
ELSEIF m > 0 AND n > 0.
|
||||
lv_new_m = m - 1.
|
||||
|
||||
lv_new_n = n - 1.
|
||||
lv_new_n = ackermann( m = m n = lv_new_n ).
|
||||
|
||||
v = ackermann( m = lv_new_m n = lv_new_n ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD. "ackermann
|
||||
|
||||
ENDCLASS. "zcl_ackermann IMPLEMENTATION
|
||||
|
||||
|
||||
PARAMETERS: pa_m TYPE i,
|
||||
pa_n TYPE i.
|
||||
|
||||
DATA: lv_result TYPE i.
|
||||
|
||||
START-OF-SELECTION.
|
||||
lv_result = zcl_ackermann=>ackermann( m = pa_m n = pa_n ).
|
||||
WRITE: / lv_result.
|
||||
Loading…
Add table
Add a link
Reference in a new issue