Я пытаюсь написать код, который вычисляет Фибоначчи с несколькими незначительными изменениями. есть ограничение на количество итераций, есть номер цели, и каждый i итерации число делится на 2.Фибоначчи с завихрением
как-то мой код не работает должным образом. он работает только для lim = 1 во всех остальных случаях он ничего не делает
может ли кто-нибудь увидеть ошибку?
int main()
{
int i, lim, gen_num,
fib1, fib2, next, count = 0, iterations = 0;
printf("Please enter the desired population\n");
scanf("%d", &lim);
printf("Please enter the number of generations alowd\n");
scanf("%d", &i);
printf("Please enter the number of generations between each disaster\n");
scanf("%d", &gen_num);
fib1 = 0;
fib2 = 1;
while (fib2 < lim);
{
if (iterations <= i)
{
next = fib1 + fib2;
fib1 = fib2;
fib2 = next;
count += 1;
iterations += 1;
if (count%gen_num == 0)
{
fib2 /= 2;
}
printf("%d ", fib2);
}
else
{
printf("Number of iterations exceeded\n");
return 0;
}
}
return 0;
}
«* не работает должным образом *» не очень информативно. Если вам нужна помощь, опишите вашу точную проблему. –
Цикл 'while' имеет точку с запятой в конце. – user3386109