main(){ printf("%ld\n", fibonacci(40)); }
int fibonacci(int n){ if(n==0 || n==1) return n; return fibonacci(n-2) + fibonacci(n-1); }
static void dwindle(void) { fibonacci(0); }
int fibonacci(int n) { if (n <= 1) return n; return fibonacci(n-1) + fibonacci(n-2); }
int fibonacci(int n) { if (n == 0) return 1; if (n == 1) return 1; return fibonacci(n - 1) + fibonacci(n - 2); }
/* * Main entry point of program. Sets up the timers, the child processes * and reports the various times of each. * * @param argc number of arguments passed to this program * @param *argv[] array of strings passed to this program, used to * retrieve the fibonacci value to compute */ int main(int argc, char *argv[]) { char *p; long val; int status; if (argc!=2) { fprintf(stderr, "Proper usage is %s val\n" "where val is the fibonacci " "value you want to compute.\n",argv[0]); exit(1); } val = strtol(argv[1],&p,0); if (errno==ERANGE || p==argv[1]) { fprintf(stderr,"Value to compute, %s, is invalid.\n",argv[1]); exit(1); } /* enable the signal handlers */ if (signal(SIGALRM, real_alarm)==SIG_ERR) { fprintf(stderr, "Unable to trap SIGALRM.\n"); exit(1); } if (signal(SIGVTALRM, virt_alarm)==SIG_ERR) { fprintf(stderr, "Unable to trap SIGVTALRM.\n"); exit(1); } if (signal(SIGPROF, prof_alarm)==SIG_ERR) { fprintf(stderr, "Unable to trap SIGPROF.\n"); exit(1); } /* set up one itimerval to 1 sec, 1 sec. on reset */ seed_t.it_interval.tv_sec = 1; seed_t.it_interval.tv_usec = 0; seed_t.it_value.tv_sec = 1; seed_t.it_value.tv_usec = 0; /* start the timers */ if (setitimer(ITIMER_REAL,&seed_t,NULL)!=0) { fprintf(stderr, "Unable to start real timer.\n"); exit(1); } if (setitimer(ITIMER_VIRTUAL,&seed_t,NULL)!=0) { fprintf(stderr, "Unable to start virtual timer.\n"); exit(1); } if (setitimer(ITIMER_PROF,&seed_t,NULL)!=0) { fprintf(stderr, "Unable to start profile timer.\n"); exit(1); } /* set up an itimerval to kill the timers */ seed_t.it_interval.tv_sec = 0; seed_t.it_interval.tv_usec = 0; seed_t.it_value.tv_sec = 0; seed_t.it_value.tv_usec = 0; val = fibonacci(val); /* and kill the timers */ if (setitimer(ITIMER_REAL, &seed_t, &real_t)!=0) { fprintf(stderr, "Unable to get real time.\n"); exit(0); } if (setitimer(ITIMER_VIRTUAL, &seed_t, &virt_t)!=0) { fprintf(stderr, "Unable to get virtual time.\n"); exit(0); } if (setitimer(ITIMER_PROF, &seed_t, &prof_t)!=0) { fprintf(stderr, "Unable to get profile time.\n"); exit(0); } printf("ans: %ld, (real) %ld sec, %ld msec\n", val, real_secs, elapsed_usecs(real_t.it_value.tv_sec, real_t.it_value.tv_usec)/1000); printf("ans: %ld, (virt) %ld sec, %ld msec\n", val, virt_secs, elapsed_usecs(virt_t.it_value.tv_sec, virt_t.it_value.tv_usec)/1000); printf("ans: %ld, (prof) %ld sec, %ld msec\n", val, prof_secs, elapsed_usecs(prof_t.it_value.tv_sec, prof_t.it_value.tv_usec)/1000); }
long test(long testno, long arg1, long arg2) { int res = 0xC0DEDBAD; int i1 = arg1; int i2 = arg2; unsigned u1 = arg1; unsigned u2 = arg2; float f1 = *(float*)&i1; float f2 = *(float*)&i2; short s1 = i1; short s2 = i2; signed char c1 = i1; signed char c2 = i2; float fres; switch(testno) { case 1: res = i1+i2; break; case 2: res = i1-i2; break; case 3: res = i1&i2; break; case 4: res = i1|i2; break; case 5: res = i1^i2; break; case 6: res = i1*i2; break; case 7: res = u1*u2; break; case 8: res = i1%i2; break; case 9: res = u1%u2; break; case 10: res = i1/i2; break; case 11: res = u1/u2; break; case 12: res = s1 * s2; break; case 13: res = c1 * c2; break; case 14: res = ~(u1); break; case 15: res = u1<<u2; break; case 16: res = u1>>u2; break; case 17: res = i1>>i2; break; case 18: res = -i1; break; case 19: case 20: case 21: case 22: case 23: case 24: res = 0; switch(testno) { case 19: if (i1 == i2) res = 1; break; case 20: if (i1 != i2) res = 1; break; case 21: if (i1 <= i2) res = 1; break; case 22: if (i1 >= i2) res = 1; break; case 23: if (i1 < i2) res = 1; break; case 24: if (i1 > i2) res = 1; break; } break; case 25: case 26: case 27: case 28: case 29: case 30: res = 0; switch(testno) { case 25: if (u1 == u2) res = 1; break; case 26: if (u1 != u2) res = 1; break; case 27: if (u1 <= u2) res = 1; break; case 28: if (u1 >= u2) res = 1; break; case 29: if (u1 < u2) res = 1; break; case 30: if (u1 > u2) res = 1; break; } break; case 31: res = fibonacci(testno, i1, i2); case 100: fres = f1/f2; break; case 101: fres = f1*f2; break; case 102: fres = f1+f2; break; case 103: fres = f1-f2; break; case 104: fres = -f1; break; case 105: if (f1 == f2) fres = 1; else fres = 0; break; case 106: if (f1 != f2) fres = 1; else fres = 0; break; case 107: if (f1 <= f2) fres = 1; else fres = 0; break; case 108: if (f1 >= f2) fres = 1; else fres = 0; break; case 109: if (f1 < f2) fres = 1; else fres = 0; break; case 110: if (f1 > f2) fres = 1; else fres = 0; break; case 111: i1 = f1; i2 = f2; fres = i1+i2; break; default: break; } if(testno>=100) res = *(int*)&fres; return res; }
int main() { int pilih,num1,num2,number,i; char y; lagi:system("cls"); int data[50]={0}; puts("\tPAP-07"); puts("\t------"); printf("1. addRec\n2. subsRec\n3. mulRec\n4. divRec\n5. powRec\n6. factorial\n7. fibonacci\n8. sumTraversal\n"); pilih=0; while(pilih<1||pilih>8) { printf("Pilih: "); scanf("%d",&pilih); } switch(pilih) { case 1: printf("\tInput num1 dan num2\n"); printf("\tnum1: ");scanf("%d",&num1); printf("\tnum2: ");scanf("%d",&num2); printf("\taddRec(%d,%d) --> %d\n",num1,num2,addRec(num1,num2)); break; case 2: printf("\tInput num1 dan num2\n"); printf("\tnum1: ");scanf("%d",&num1); printf("\tnum2: ");scanf("%d",&num2); printf("\tsubsRec(%d,%d) --> %d\n",num1,num2,subsRec(num1,num2)); break; case 3: printf("\tInput num1 dan num2\n"); printf("\tnum1: ");scanf("%d",&num1); printf("\tnum2: ");scanf("%d",&num2); printf("\tmulRec(%d,%d) --> %d\n",num1,num2,mulRec(num1,num2)); break; case 4: printf("\tInput num1 dan num2\n"); printf("\tnum1: ");scanf("%d",&num1); printf("\tnum2: ");scanf("%d",&num2); printf("\tdivRec(%d,%d) --> %d\n",num1,num2,divRec(num1,num2)); break; case 5: printf("\tInput num1 dan num2\n"); printf("\tnum1: ");scanf("%d",&num1); printf("\tnum2: ");scanf("%d",&num2); printf("\tpowRec(%d,%d) --> %d\n",num1,num2,powRec(num1,num2)); break; case 6: printf("\tInput number\n"); printf("\tnumber: ");scanf("%d",&number); printf("\tfactorial(%d) --> %d\n",number,factorial(number)); break; case 7: printf("\tInput number\n"); printf("\tnumber: ");scanf("%d",&number); printf("\t");fibonacci(number); break; case 8: printf("\tmasukkan nilai 0 untuk berhenti\n"); i=0;do{ printf("\t"); scanf("%d",&data[i]); i++; }while(data[i-1]!=0); printf("\tsumTraversal(data,0) --> %d",sumTraversal(data,0)); break; } printf("\n\nke menu[y/other]: "); fflush(stdin);scanf("%c",&y); if(y=='y') { goto lagi; }system("pause"); }
int main(){ int c; printf("Dame un valor :"); scanf("%d",&c); printf("%d",fibonacci(c)); }
int main() { printf("%d\n", fibonacci(10)); return 0; }
/** * The Fibonacci numbers form a sequence of integers, mathematically defined by * F(0)=0; F(1)=1; F(n) = F(n - 1) + F(n - 2) for n > 1. * * This results in the following sequence of numbers: 0, 1, 1, 2, 3, 5, 8, 13, * 21, 34, 55, 89, 144, 233, 377, 610, 987, ... * so that each new number is the sum of the previous two, after seeding the * sequence with the starting pair 0, 1. * * @param n value for which the Fibonacci number should be computed * @return Fibonacci number */ long fibonacci(long n) { if (n <= 1) return n; return fibonacci(n-1)+fibonacci(n-2); }
int fibonacci(int num, int arg1, int arg2) { if(!num) return arg1; --num; return fibonacci(num, arg2, arg1+arg2); }
void spiral(Monitor *mon) { fibonacci(mon, 0); }
void dwindle(Monitor *mon) { fibonacci(mon, 1); }
int fibonacci(int n){ if (n==1) return 0; else if (n == 2) return 1; else return fibonacci(n-1)+fibonacci(n-2); }
int main (int c, char ** v) { printf("%d\n",fibonacci(2)); printf("%d\n",fibonacci(5)); return 0; }
unsigned long fibonacci(int sira){ if(sira < 2) return 1; else return fibonacci(sira - 2) + fibonacci(sira - 1); }
/* Program extracts from Chapter 5 of
unsigned fibonacci(unsigned num, unsigned arg1, unsigned arg2) { if(!num) return arg1; --num; return fibonacci(num, arg2, arg1+arg2); }
// c implementation of fibonacci static long fibonacci(long n) { if (n < 2) return n; else return fibonacci(n - 2) + fibonacci(n - 1); }
main(){ int i; for (i = 0; i <= 50; ++i) printf("%d%d\n", i, fibonacci(i)); }
main() { int selection = 0; int c=0; do //begin do while { float x=0; float y=0; float fResult=0; int ix=0; int iy=0; int iResult=0; int factor=0; int temp=0; int*pResult=0; printf("\nCalculator Menu\n\n"); printf("[1]\tAddition\n"); printf("[2]\tSubtraction\n"); printf("[3]\tMultiplication\n"); printf("[4]\tDivision\n"); printf("[5]\tModulus (Integers Only)\n"); printf("[6]\tPrime Test (Integers Only)\n"); printf("[7]\tFactorial (Integers Only)\n"); printf("[8]\tPower\n"); printf("[9]\tFibonacci Sequence\n"); printf("[0]\tExit\n"); printf("\nPlease Select an option: "); scanf("%d",&selection); switch(selection) { case 1://Addition { printf("\nYou have selected \"Addition\""); printf("\nx + y = ?"); printf("\nPlease input a value for \"x\": "); scanf("%f",&x); printf("\nPlease input a value for \"y\": "); scanf("%f",&y); addTwoNumbers(x,y); printf("\n-------------------------------------------"); break; } case 2://Subtraction { printf("\nYou have selected \"Subtraction\""); printf("\nx - y = ?"); printf("\nPlease input a value for \"x\": "); scanf("%f",&x); printf("\nPlease input a value for \"y\": "); scanf("%f",&y); subTwoNumbers(x,y); printf("\n-------------------------------------------"); break; } case 3://Multiplication { printf("\nYou have selected \"Multiplication\""); printf("\nx * y = ?"); printf("\nPlease input a value for \"x\": "); scanf("%f",&x); printf("\nPlease input a value for \"y\": "); scanf("%f",&y); multTwoNumbers(x,y); printf("\n-------------------------------------------"); break; } case 4://Division { printf("\nYou have selected \"Division\""); printf("\nx // y = ?"); printf("\nPlease input a value for \"x\": "); scanf("%f",&x); printf("\nPlease input a value for \"y\": "); scanf("%f",&y); divTwoNumbers(x,y); printf("\n-------------------------------------------"); break; } case 5://Modulus { printf("\nYou have selected \"Modulus\""); printf("\nx %% y = ?"); printf("\nPlease input an integer value for \"x\": "); scanf("%d",&ix); printf("\nPlease input an integer value for \"y\": "); scanf("%d",&iy); modTwoNumbers(ix,iy); printf("\n-------------------------------------------"); break; } case 6://Prime Test { printf("\nYou have selected \"Prime Test\""); printf("\nTest if x is prime"); printf("\nPlease input an integer value for \"x\": "); scanf("%d",&ix); primeFactor(ix); printf("\n-------------------------------------------"); break; } case 7://Factorial { printf("\nYou have selected \"Factorial\""); printf("\nx!"); printf("\nPlease input an integer value for \"x\": "); scanf("%d",&ix); factorial(ix); printf("\n-------------------------------------------"); break; } case 8://Power { printf("\nYou have selected \"Power\""); printf("\nx to the power of y"); printf("\nPlease input a value for \"x\": "); scanf("%f",&x); printf("%f",x); printf("\nPlease input an integer value for \"y\": "); scanf("%d",&ix); powerOf(x,ix); printf("\n-------------------------------------------"); break; } case 9://Fibonacci { printf("\nYou have selected \"Fibonacci Sequence\""); printf("\nDisplay the Fibonacci Sequence up to and including n=x"); printf("\nPlease input an integer value for \"x\": "); scanf("%d",&ix); fibonacci(ix); printf("\n-------------------------------------------"); break; } case 0://Exit { printf("\nHave a nice day!"); printf("\n-------------------------------------------"); break; } default://Invalid { printf("\nInvalid Option!\nPlease sekect a valid option!"); printf("\n-------------------------------------------"); break; } } }while(selection!=0); return 0; }
int main(int argc, char const *argv[]) { printf("%ld\n", fibonacci( 5 ) ); return 0; }
int fibonacci(int quant,int menor,int maior){ maior+=menor; if(quant>0) return fibonacci(quant-1,maior,menor); else return menor; }
int main(){ printf("\n 5th Term in fibonacci is: %d", fibonacci(5)); printf("\n Factorial of 5 is: %d", factorial(5)); return 0; }
int main(){ int quant; printf("%d",fibonacci(MAX-1,1,0)); return 0; }
static void spiral(void) { fibonacci(1); }
int main(){ int n=10; printf("Fabonacci %d => %d \n",n,fibonacci(n)); return 0; }
static void fun_big_comp(void *arg) { unsigned *u = arg; *u = fibonacci(*u % FIBO_MAX); }
/************************************************************************ * Function: main() * Description: Main entry point for the demonstration *************************************************************************/ int main() { volatile long demo_counter; volatile int pfa_demo=0; int sum = 0; volatile char cvar; /* sample char variable */ REC_TYPE1 q; volatile int localInt1; volatile long localLong1; /* Setup the global string array */ globalstring[0] = "zero"; globalstring[1] = "one"; globalstring[2] = "two"; /* Initialize the rectest structure */ rectest.long_integer = 0xFFFFEEEE; rectest.short_integer = 5555; rectest.integer_array[0] = 0; rectest.integer_array[1] = 10; rectest.integer_array[2] = 20; rectest.integer_array[3] = 30; rectest.string_pointer = "Wind River's Tools Product Family"; /* * Fill a table with factorials using recursive calls. */ factorialDemo( ); /* * Fill a table with the fibonnacci sequence using recursive calls. */ fibonacciDemo( ); /* set a local variable */ pfa_demo = 3; /* * Infinite Loop ... * Could use demo_counter as a modulo-maxcount-for-sizeof(long) * to count the iterations of the demo loop and view in a watch window. */ for ( demo_counter=0; FOREVER ;demo_counter++ ) { /* * Setup and examine 'engineer structure'. This function illustrates * arrays of structures and pointers to array of structures. */ status = engineers( 0x1234 ); /* * Setup and examine link-list structure. This function illustrates * structure pointers and pointer-to-pointers. */ status = linkList( 0x5678 ); /* * Calculate the factorial of a number. Since factorials * get very large quickly, only calculate the factorial * of the number 3 once every 25 iterations using the C modulo operator * to detect 25th iteration in the infinite loop. * * Add 'demo_counter' in a watch window and set a breakpoint * on the 'localInt1=factorial(3);' line. If there are no other * enabled breakpoints in the loop, then every time the * run button is pressed, the demo_counter is updated. But * the modulo operator filters calls to the factorial function * only once every 25 iterations through the loop. */ if ( !(demo_counter % 25) ) localInt1 = factorial( 3 ); /* * Calculate the fibonacci of a fixed number, 5, * once every 100th iteration of the main test loop. */ if ( !(demo_counter % 100) ) globalInt1 = fibonacci( 5 ); /* * Demonstrate some calendar functions. */ localLong1 = 0x12345678; globalLong1 = calendar( localLong1 ); /* * Manipulate some local and global structures. */ q.a = 55; strcpy(q.b,"December"); q.c = 12345678L; q.color = red; sum = 0; wait_index = 0; wait_count = 5; quick_index = 5; recordvar.color = red; /* * Call a function written in assembler */ while (wait_index < wait_count) { wait_index = addone(wait_index); sum = sum + 1; } cvar = date(); recordvar.a = 0; for (quick_index = 0; quick_index <= 4 ;++quick_index) { ++recordvar.a; } recordvar.color = blue; /* * Before starting the demo_count loop once again, increment * pfa_demo counter variable using a ternary condition operator. * Also, maintain a modulo-3 range on its value. */ if (pfa_demo==3) { pfa_demo=0; } else { ++pfa_demo; } } return 0; }