The question is -> https://exercism.org/tracks/abap/exercises/prime-factors
Source -> How to calculate prime factor: https://www.calculatorsoup.com/calculators/math/prime-factors.php
Print ->

CODE
" How to calculate prime factor
CLASS zcl_prime_factors DEFINITION
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
TYPES integertab TYPE STANDARD TABLE OF i WITH EMPTY KEY.
METHODS factors
IMPORTING
input TYPE int8
RETURNING
VALUE(result) TYPE integertab.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS zcl_prime_factors IMPLEMENTATION.
METHOD factors.
DATA factor TYPE i VALUE 2.
DATA(iv_input) = input.
WHILE iv_input > 1.
WHILE iv_input MOD factor <> 0.
factor = factor + 1.
ENDWHILE.
iv_input = iv_input / factor.
APPEND factor TO result.
ENDWHILE.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
DATA(expected_value) = VALUE zcl_prime_factors=>integertab( ( 2 ) ).
DATA(cut) = NEW zcl_prime_factors( ).
FIELD-SYMBOLS: <asd> TYPE any.
LOOP AT cut->factors( 12 ) ASSIGNING <asd>.
WRITE: | { <asd> } |.
ENDLOOP.
NEW-LINE.
LOOP AT cut->factors( 93819012551 ) ASSIGNING <asd>.
WRITE: | { <asd> } |.
ENDLOOP.
NEW-LINE.
LOOP AT cut->factors( 901255 ) ASSIGNING <asd>.
WRITE: | { <asd> } |.
ENDLOOP.

Yorum bırakın