forked from 131/lab3_test
47 lines
945 B
C
47 lines
945 B
C
#include "aux_lib.h"
|
|
|
|
/*
|
|
* Функция возвращает n-ный элемент последовательности фибоначи
|
|
*/
|
|
int
|
|
fibonacci(int nitem)
|
|
{
|
|
if (nitem <= 0) return 0;
|
|
if (nitem == 1) return 1;
|
|
|
|
int prev = 0;
|
|
int curr = 1;
|
|
|
|
for (int i = 2; i <= nitem; i++) {
|
|
int next = prev + curr;
|
|
prev = curr;
|
|
curr = next;
|
|
}
|
|
return curr;
|
|
}
|
|
|
|
/*
|
|
* Функция считает сумму элементов массива и возвращает информацию
|
|
* является ли эта сумма нечётным числом.
|
|
*/
|
|
bool
|
|
sum_is_odd(int *arr, int arrsz)
|
|
{
|
|
int sum = 0;
|
|
for (int i = 0; i < arrsz; i++) {
|
|
sum += arr[i];
|
|
}
|
|
return (sum % 2 != 0);
|
|
}
|
|
|
|
int bit_count(unsigned int number)
|
|
{
|
|
int count = 0;
|
|
while (number) {
|
|
count += number & 1;
|
|
number >>= 1;
|
|
}
|
|
return count;
|
|
}
|
|
|