Computer Science, asked by Khushi9935, 1 year ago

Consider the below series : 1,2,1,3,2,5,3,7,5,11,8,13,13,7.. this series is a misture of 2 series- all the odd terms in this series forn a fibonacci series and all the even term are the prime number in the ascending order. write a program to find the nth term in series

Answers

Answered by imhkp4u
44

If I'm not mistaking then, this question was asked in the mock test of TCS ninja qualifier.

Well it is not that complicated. You have to take 3 loops: 1 for prime, other for fibo and the last for resulting series i.e. combining both.

Source code:

#include<stdio.h>

int main()

{ int n,flag;

int i,t=1,j;

int a,b,c,r,g;

a=0;b=1;c=0;r=1;

scanf("%d",&n);

//for fibo

if(n%2!=0)

{

while(r<=(n/2 +1))

{

g=b;

c=a;

a=b;

b=a+c;

r++;

}

printf("%d ",g);

}

else

{//for prime no

for(i=2;t<=(n/2);i++)

{

flag=0;

for(j=2;j<i;j++)

{

if(i%j==0)

{flag=1;

break;

}

}

if(flag==0)

{t++;

}

}

printf("%d ",i-1);

}

return 0;

}

Answered by Shaizakincsem
13

#include <stdio.h>

#include <stdbool.h>

int fib(int n)

{

  if (n <= 1)

     return n;

  return fib(n-1) + fib(n-2);

}

bool isPrime(int n) {

   for(int i = 2; i < n; ++i) {

       if (n % i == 0) {

           //

           //

           //

       }

   }


   }

int nthPrime(int n) {

   int candidate=2;

   int count;

   for(count = 0; count < n; ++candidate) {

       if (isPrime(candidate)) {

           ++count;

       }

   }

   // -1;

}

int main(void) {

   // your code goes here

   int n;

   scanf("%d",&n);

   if(n%2==0)

   {

       printf("%d",nthPrime(n/2));

   }

   else

   {

       printf("%d",fib((n/2) +1));

   }

   return 0;

}


Similar questions