Скачиваний:
2
Добавлен:
15.08.2023
Размер:
831 б
Скачать
#pragma once

#include <sal.h>

#ifndef ALGS_H
#define ALGS_H

unsigned int recursiveFibonachi(_In_ unsigned int lFibPoint)
{
	if (lFibPoint == 0 || lFibPoint == 1) {
		return 1;
	}

	return recursiveFibonachi(lFibPoint - 1) + recursiveFibonachi(lFibPoint - 2);
}

unsigned int iterativeFibonachi(_In_ unsigned int lFibPoint)
{
	unsigned int a = 0;
	unsigned int b = 1;

	for (unsigned int i{}; i < lFibPoint; i++) {
		static unsigned int c;

		c = a + b;
		a = b;
		b = c;
	}

	return b;
}

unsigned int recursiveFactorial(_In_ unsigned int value)
{
	return (value < 2) ? 1 : value * recursiveFactorial(value - 1);
}

unsigned int iterativeFactorial(_In_ unsigned int value)
{
	unsigned int i;
	for (i = 0x00000001; value > 0x00000001; i *= (value--));

	return i;
}

#endif // !ALGS_H
Соседние файлы в папке 3