How to calculate prime factor

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

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.

WordPress.com'da bir web sitesi veya blog oluşturun

Yukarı ↑