Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
28
Task/Fibonacci-sequence/CMake/fibonacci-sequence-1.cmake
Normal file
28
Task/Fibonacci-sequence/CMake/fibonacci-sequence-1.cmake
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
set_property(GLOBAL PROPERTY fibonacci_0 0)
|
||||
set_property(GLOBAL PROPERTY fibonacci_1 1)
|
||||
set_property(GLOBAL PROPERTY fibonacci_next 2)
|
||||
|
||||
# var = nth number in Fibonacci sequence.
|
||||
function(fibonacci var n)
|
||||
# If the sequence is too short, compute more Fibonacci numbers.
|
||||
get_property(next GLOBAL PROPERTY fibonacci_next)
|
||||
if(NOT next GREATER ${n})
|
||||
# a, b = last 2 Fibonacci numbers
|
||||
math(EXPR i "${next} - 2")
|
||||
get_property(a GLOBAL PROPERTY fibonacci_${i})
|
||||
math(EXPR i "${next} - 1")
|
||||
get_property(b GLOBAL PROPERTY fibonacci_${i})
|
||||
|
||||
while(NOT next GREATER ${n})
|
||||
math(EXPR i "${a} + ${b}") # i = next Fibonacci number
|
||||
set_property(GLOBAL PROPERTY fibonacci_${next} ${i})
|
||||
set(a ${b})
|
||||
set(b ${i})
|
||||
math(EXPR next "${next} + 1")
|
||||
endwhile()
|
||||
set_property(GLOBAL PROPERTY fibonacci_next ${next})
|
||||
endif()
|
||||
|
||||
get_property(answer GLOBAL PROPERTY fibonacci_${n})
|
||||
set(${var} ${answer} PARENT_SCOPE)
|
||||
endfunction(fibonacci)
|
||||
12
Task/Fibonacci-sequence/CMake/fibonacci-sequence-2.cmake
Normal file
12
Task/Fibonacci-sequence/CMake/fibonacci-sequence-2.cmake
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
# Test program: print 0th to 9th and 25th to 30th Fibonacci numbers.
|
||||
set(s "")
|
||||
foreach(i RANGE 0 9)
|
||||
fibonacci(f ${i})
|
||||
set(s "${s} ${f}")
|
||||
endforeach(i)
|
||||
set(s "${s} ... ")
|
||||
foreach(i RANGE 25 30)
|
||||
fibonacci(f ${i})
|
||||
set(s "${s} ${f}")
|
||||
endforeach(i)
|
||||
message(${s})
|
||||
Loading…
Add table
Add a link
Reference in a new issue