я есть рекуррентное соотношениерекуррентное соотношение: найти битовые строки длиной семь содержат два последовательных 0 в C
и состояние инициалов является
a0 = a1 = 0
с этими двумя, я должен найти битовые строки длины 7, содержащие два последовательных 0, которые я уже решаю.
пример:
a2 = a2-1 + a2-2 + 22-2
= a1 + a0 + 20
= 0 + 0 + 1
= 1
и так далее до a7.
проблема заключается в том, как преобразовать их в c?
им не очень хорошо, но я пробую его вот так.
#include<stdio.h>
#include <math.h>
int main()
{
int a[7];
int total = 0;
printf("the initial condition is a0 = a1 = 0\n\n");
// a[0] = 0;
// a[1] = 0;
for (int i=2; i<=7; i++)
{
if(a[0] && a[1])
a[i] = 0;
else
total = (a[i-1]) + (a[i-2]) + (2 * pow((i-2),i));
printf("a%d = a(%d-1) + a(%d-2) + 2(%d-2)\n",i,i,i,i);
printf("a%d = %d\n\n",i,total);
}
}
выход не то же самое, как я рассчитать PLS помочь :(
Почему инициализация 'а [0] и' а [1] 'закомментирована? И в инструкции 'if', почему вы каждый раз проверяете' a [0] && a [1] '? Разве вы не хотите проверять что-то другое в зависимости от 'i'? –
(2 * pow ((i-2), i))! = 2^(n-2); (2 * pow ((i-2), i)) = 2 * ((i-2)^i); –
Доступ к индексу за пределами границ, достаточный для неопределенного поведения. – ameyCU