Здравствуйте ) помогите решить задачу в Visual Basic 6.0 Задача: Дана упорядоченная последовательность натуральных чисел b произвольной длины. Найти, входит ли в эту последовательность i-е. число Фибоначчи. Числа Фибоначчи определяются по формуле: a0=1; a1=1; an=an-1+an-2. мб чемнибудь поможет эта же задача на Си :
Код | /* MAIN */ #include <conio.h> #include <stdio.h> #define SIZE 100 void main(void){ short b[SIZE], i, razmer, nomfib, Сheck(short[],short,short); clrscr(); printf("Размер числа последовательности: "); scanf("%d",&razmer); if (razmer<0 && razmer>SIZE){ printf("Размер должен быть больше 0 и меньше %d", SIZE); getch(); return; } printf("Числовая последовательность:\n"); for (i=0; i<razmer; i++){ scanf("%d", &b[i]); } printf("Номер числа Фибаначи: "); scanf("%d",&nomfib); printf("\n\n%d число Фибаначи ",nomfib); if (Сheck(b,razmer,nomfib)){ printf("входит в числовую последовательность"); }else{ printf("не входит в числовую последовательность"); } printf("\n\nНажмите любую клавишу"); getch(); } /* CHECK */ #include <stdio.h> #include <conio.h> enum bool{FALSE,TRUE};
short Сheck(short b[],short razmer,short nomfib){ short i, a1, a2, a3; enum bool fl=FALSE; a1=a2=1; for (i=3; i<=nomfib; i++){ a3=a2+a1; a1=a3; } for (i=0; i<razmer && !fl; i++){ if (b[i]==a3 || b[i]==a1){ fl=TRUE; } } return fl; }
|
За ранее thx. |