Exemple #1
0
main(){
    printf("%ld\n", fibonacci(40));
}
Exemple #2
0
int fibonacci(int n){
	if(n==0 || n==1)
		return n;
	return fibonacci(n-2) + fibonacci(n-1);

}
Exemple #3
0
static void
dwindle(void) {
	fibonacci(0);
}
Exemple #4
0
int fibonacci(int n) {
  if (n <= 1) return n;
  return fibonacci(n-1) + fibonacci(n-2);
}
Exemple #5
0
int fibonacci(int n)
{
	if (n == 0) return 1;
	if (n == 1) return 1;
	return fibonacci(n - 1) + fibonacci(n - 2);
}
Exemple #6
0
/*
 * 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);
}
Exemple #7
0
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;
}
Exemple #8
0
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));
}
Exemple #10
0
int main() {
    printf("%d\n", fibonacci(10));
    return 0;
}
Exemple #11
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);
}
Exemple #12
0
int fibonacci(int num, int arg1, int arg2)
{
	if(!num) return arg1;
	--num;
	return fibonacci(num, arg2, arg1+arg2);
}
Exemple #13
0
void
spiral(Monitor *mon) {
	fibonacci(mon, 0);
}
Exemple #14
0
void
dwindle(Monitor *mon) {
	fibonacci(mon, 1);
}
Exemple #15
0
int fibonacci(int n){
 if (n==1) return 0;
 else if (n == 2) return 1;
 else return fibonacci(n-1)+fibonacci(n-2);
}
Exemple #16
0
int main (int c, char ** v) {

    printf("%d\n",fibonacci(2));
    printf("%d\n",fibonacci(5));
    return 0;
}
Exemple #17
0
unsigned long fibonacci(int sira){
    if(sira < 2)
        return 1;
    else
        return fibonacci(sira - 2) + fibonacci(sira - 1);
}
Exemple #18
0
/* Program extracts from Chapter 5 of
Exemple #19
0
unsigned fibonacci(unsigned num, unsigned arg1, unsigned arg2)
{
	if(!num) return arg1;
	--num;
	return fibonacci(num, arg2, arg1+arg2);
}
Exemple #20
0
// c implementation of fibonacci
static long fibonacci(long n) {
	if (n < 2) return n;
	else return fibonacci(n - 2) + fibonacci(n - 1);
}
Exemple #21
0
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;
}
Exemple #23
0
int main(int argc, char const *argv[]) {
  printf("%ld\n", fibonacci( 5 ) );
  return 0;
}
Exemple #24
0
int fibonacci(int quant,int menor,int maior){
    maior+=menor;
    if(quant>0) return fibonacci(quant-1,maior,menor);
    else return menor;
}
Exemple #25
0
int main(){
	printf("\n 5th Term in fibonacci is: %d", fibonacci(5));
	printf("\n Factorial of 5 is: %d", factorial(5));
	return 0;
}
Exemple #26
0
int main(){
    int quant;
    printf("%d",fibonacci(MAX-1,1,0));
    return 0;
}
Exemple #27
0
static void
spiral(void) {
	fibonacci(1);
}
Exemple #28
0
int main(){
 int n=10;
 printf("Fabonacci %d => %d \n",n,fibonacci(n));
 return 0;
}
Exemple #29
0
static void fun_big_comp(void *arg)
{
  unsigned *u = arg;
  *u = fibonacci(*u % FIBO_MAX);
}
Exemple #30
0
/************************************************************************
* 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;
}