* Reorganize files in TestSuite dir for multiple languages * Add SPython samples to TestSuite * Update TestRunner to support multiple languages * Delete dll files accidentally pushed * Update .gitignore * Revert "Delete dll files accidentally pushed" This reverts commit 62bcba2b821d58ae51ec98e9dadcf621bb0fc003. * Update testing dir path in Testing.cs * Improve TestRunner output * Add random module and it's usage sample * Reorganize gitignore files * Move pascal tests back to TestSuite and create new TestSuiteLanguagePlugins folder for SPython * Revert "Update testing dir path in Testing.cs" This reverts commit 7d94eafb25292421bce8315520b4f6a0de001bbd. * Revert crlf changes in pascal tests * Test changes of _RebuildReleaseAndRunTestsForGitHubActions.bat * Revert "Test changes of _RebuildReleaseAndRunTestsForGitHubActions.bat" This reverts commit 234ceae3e3a339fbc68a6170e2bd201dab14d67d. * Test changes in StorageLocationPicker * Another test changes in StorageLocationPicker.cs * Rename LanguagePlugins folder to AdditionalLanguages * Decouple TestRunner from language names and parameters * Revert calling TestRunner without parameters in .bat files * Fix formatter tests nogui exception handling * Small refactoring in Testing.cs and TestRunner fix of working directory
19 lines
473 B
Plaintext
19 lines
473 B
Plaintext
# Рекурсивная функция вычисления факториала
|
||
def factorial(n: int)-> bigint:
|
||
if n == 0:
|
||
return 1
|
||
return n * factorial(n - 1)
|
||
|
||
|
||
# Не рекурсивная функция вычисления числа Фибоначчи
|
||
def fibonacci(n: int)-> bigint:
|
||
if n <= 1:
|
||
return n
|
||
f1: bigint = 0
|
||
f2: bigint = 1
|
||
for i in range(n - 1):
|
||
t = f1 + f2
|
||
f1 = f2
|
||
f2 = t
|
||
return f2
|