diff --git a/fibonachchi.c b/fibonachchi.c new file mode 100644 index 0000000..f33d764 --- /dev/null +++ b/fibonachchi.c @@ -0,0 +1,28 @@ +#include + +// функция суммы четных чисел фибоначчи +int evenFibonachchi() +{ + // индекс для текущего числа фибоначчи, сразу с двойки начал + int index = 3; + int formerNumberFib = 1; + int numberFib = 2; + int sum = 0; + + // прибавляет каждое третье число фибоначчи, так как оно четно + while (numberFib < 1000000) { + if (index % 3 == 0) { + sum += numberFib; + } + index++; + numberFib += formerNumberFib; + formerNumberFib = numberFib - formerNumberFib; + } + return sum; +} + +int main(int argc, char** argv) +{ + printf("%d\n", evenFibonachchi()); + return 0; +} \ No newline at end of file diff --git a/palindrome.c b/palindrome.c new file mode 100644 index 0000000..eb3aab2 --- /dev/null +++ b/palindrome.c @@ -0,0 +1,45 @@ +#include +#include + +void palindrome(char* str) +{ + // индексы для сравнения элементов строк + int start = 0; + int finish = strlen(str) - 1; + bool flag = true; + + while (finish > start) { + + // игнорирование пробелов и переход на следующий индекс + while (str[start] == ' ') { + start++; + } + while (str[finish] == ' ') { + finish--; + } + if (str[start] != str[finish]) { + flag = false; + break; + } + start++; + finish--; + } + + if (flag) { + printf("Строка палиндром\n"); + } else { + printf("Строка не палиндром\n"); + } +} + +int main(int argc, char** argv) +{ + // проверка палиндрома + char* strPalindrome = "l wqe req wl"; + palindrome(strPalindrome); + + // проверка не палиндрома + char* strNotPalindrome = "iui guvv vhv"; + palindrome(strNotPalindrome); + return 0; +} \ No newline at end of file