Untitled
unknown
plain_text
2 years ago
1.2 kB
5
Indexable
#include <stdio.h> #include <limits.h> void jakob (int, int, int, int, int); // у меня был ряд Якобшталя int main (void) { int k; scanf ("%d", &k); int a = 1, a1 = 0, a2 = 1, i = 1; jakob (k, a, a1, a2, i); printf ("1. 1"); //осторожно, перед вами костыль return 0; } void jakob (int k, int a, int a1, int a2, int i) { printf ("%d. %d\n", i, a); //вывод первой таблицы if (i == k) { printf ("\n%d-th chislo jakob = %d\n\n", k, a); return; } else { if (INT_MAX - a2 >= 2*a1) //проверка переполнения { a = a2 + 2 * a1; //считаем число Якобшталя a1 = a2; a2 = a; //считаем число Якобшталя i++; jakob (k, a, a1, a2, i); //рекурсия } else printf ("!\n"); } printf ("%d. %d\n", i, a); //вывод второй таблицы без первого члена // проблема была решена костылём, см. выше }
Editor is loading...
Leave a Comment