91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在ABAP里用函數式編程思想打印出非波拉契Fibonacci

發布時間:2021-12-03 14:03:55 來源:億速云 閱讀:148 作者:小新 欄目:編程語言

小編給大家分享一下怎么在ABAP里用函數式編程思想打印出非波拉契Fibonacci,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

在ABAP里也有很多種方式實現這個需求。

下面這個report分別用遞歸和ABAP internal table的方式實現了非波拉契數列的打印。

REPORT Z_FIBO.
PARAMETERS: N type i,
v1 RADIOBUTTON GROUP v default 'X',
v2 RADIOBUTTON GROUP v.
data: f type i,
t type i.
data: product_guid type comm_product-product_guid.
get run time field t.case 'X'.
when v1\. perform fibonacci using n changing f.
when v2\. perform fibonacci_2 using n changing f.
endcase.
write: / 'Fibonacci(', n, ') =', f.
get run time field t.
write: / 'Runtime', t, 'microseconds'.
*&---------------------------------------------------------------------*
*& Form fibonacci
*&---------------------------------------------------------------------*
form fibonacci using in type i
changing fib type i.
data: f_1 type i, f_2 type i,
n_1 type i, n_2 type i.case in.
when 0\. fib = 1.
when 1\. fib = 1.
when others.
n_1 = in - 1.
n_2 = in - 2.
perform fibonacci using n_1 changing f_1.
perform fibonacci using n_2 changing f_2.
fib = f_1 + f_2.
endcase.
endform. "fibonacci
*&---------------------------------------------------------------------*
*& Form fibonacci_2
*&---------------------------------------------------------------------*
form fibonacci_2 using in type i
changing fib type i.
data: f_1 type i, f_2 type i,
n_1 type i, n_2 type i,
l type i.
data: fibo type table of i.
append 1 to fibo. " fibonacci(0)
append 1 to fibo. " fibonacci(1)
n_1 = 1.
n_2 = 2.
l = in - 1.
do l times.
read table fibo index n_1 into f_1.
read table fibo index n_2 into f_2.
fib = f_1 + f_2.
add 1 to n_1\. add 1 to n_2.
append fib to fibo.
enddo.
endform. "fibonacci_2

怎么在ABAP里用函數式編程思想打印出非波拉契Fibonacci

以上兩種解決方案相對來說都比較傳統,再來看看使用ABAP 7.40提供的新關鍵字COND實現的非波拉契數列打印:

REPORT z.CLASS lcl_fibonacci DEFINITION.
PUBLIC SECTION.
TYPES: zint_tab TYPE TABLE OF int4 WITH EMPTY KEY.
METHODS fibonacci
IMPORTING !n TYPE i RETURNING VALUE(fib_numbers) TYPE zint_tab.
ENDCLASS.CLASS lcl_fibonacci IMPLEMENTATION.
METHOD fibonacci.
fib_numbers = COND #( WHEN n = 0THEN VALUE #( ( |0| ) )WHEN n = 1THEN VALUE #( ( |0| ) ( |1| ) )ELSE
VALUE #( LET fn1 = fibonacci( n - 1 )x = fn1[ lines( fn1 ) ]
y = fn1[ lines( fn1 ) - 1 ]
IN ( LINES OF fn1 ) ( x + y ) ) ).
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
cl_demo_output=>display( NEW lcl_fibonacci( )->fibonacci( 10 ) ).

怎么在ABAP里用函數式編程思想打印出非波拉契Fibonacci

打印輸出:

怎么在ABAP里用函數式編程思想打印出非波拉契Fibonacci

以上是“怎么在ABAP里用函數式編程思想打印出非波拉契Fibonacci”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

朝阳区| 南乐县| 延川县| 渑池县| 吉隆县| 故城县| 平山县| 教育| 莎车县| 礼泉县| 甘谷县| 潮州市| 苏州市| 三江| 莲花县| 民勤县| 甘南县| 桂阳县| 沙田区| 兰考县| 白玉县| 历史| 安图县| 南昌市| 团风县| 浦北县| 屏山县| 汶上县| 宜兴市| 邢台市| 阳原县| 南郑县| 铜川市| 从化市| 南靖县| 寿阳县| 依安县| 武隆县| 曲周县| 德昌县| 綦江县|