Я делаю программу, подобную серии Фибоначчи, но для чисел вплоть до значения, предоставленного пользователем, например: от 0 до 5 (0, 1, 2, 3, 4). Программа должна рассчитать сумму чисел, переместиться вправо и вычислить остальные пять чисел. Это работает для серии Фибоначчи, но не для больших чисел. Кто-нибудь знает как это сделать?
#include <stdio.h>
int main() {
int gg; //number which user inputs
int dg = 0; //first number
int next = 0;
int n;
int i;
printf("Number of series: ");
scanf("%d", &gg);
printf("Positive integer: ");//max number which outputs in printf("Series: \n", gg), etc. 1000;
scanf("%d", &n);
printf("Series: \n", gg); //result
for (i = 0; i < gg; i++) {
printf("%d, ", i);
}
next = gg + dg;
while(next <= n){
printf("%d, ", next);
dg = gg;
gg = next;
next = gg + dg;
}
return 0;
}
Для значений от 0 до 5 он должен вывести:
0, 1, 2, 3, 4, 10, 20, 39, 76, 149, 294...
Но выводит:
0, 1, 2, 3, 4, 5, 10, 15, 25, 40, 65, 105, 170, 275,