使用ABAP内表作为数据结构实现非波拉契数列(fibonacci)的生成
数据结构 实现 生成 ABAP 作为 数列 Fibonacci 内表
2023-09-14 09:02:49 时间
*&---------------------------------------------------------------------*
*TODO: Jerry can send Xun about new implementation on 2016-12-4 21:17PM - aircraft from Germany to China
*&---------------------------------------------------------------------*
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
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关文章
- 图的数据结构_数据结构关于图的算法
- 数据结构的ElemType
- 数据结构之循环队列C语言实现(详细)[通俗易懂]
- pta 列车调度_数据结构/PTA-列车调度/栈/数组
- 数据结构(15)–哈夫曼树以及哈夫曼编码的实现「建议收藏」
- 数据结构:C语言 走迷宫---栈/队列实现
- Go 数据结构和算法篇(七):归并排序
- 深入理解Redis 数据结构—双链表
- 【数据结构】树与森林
- 数据结构实验之二叉树四:(先序中序)还原二叉树 (SDUT 3343)
- 数据结构与算法:鸡蛋问题
- 【数据库数据结构】倒排索引及实现
- LeetCode 刷题常用数据结构(Java 篇)
- [数据结构]排序算法
- 【数据结构初阶】数组栈和链式队列的实现
- 数据结构【Golang实现】(一)——单链表
- 数据结构【Golang实现】(三)——双向链表
- Redis内部数据结构Dict的实现方法
- Redis详解(四)—— redis的底层数据结构大数据
- [C语言] 数据结构-逻辑结构和物理结构详解编程语言
- 【数据结构】之二叉树的java实现详解编程语言
- Linux C编程实现数据结构精髓(linuxc数据结构)
- SQL Server中使用布尔值构建复杂数据结构(sqlserver布尔值)
- MSSQL实现复杂数据结构树的生成(mssql 生成树)
- CSV文件导入MySQL从数据结构到存储实现(csv文件存入mysql)
- 状数据结构使用Redis实现多层级树状结构存储(用redis做树)
- Oracle中父子树数据结构的实现(oracle中父子树)
- java数据结构实现顺序表示例