0, 0, 2, 1, 4, 2, 6, 3, 8, 4, 10, 5, 12, 6, 14, 7, 16, 8 This series is a mixture of 2 series all the odd terms in this series form even numbers in ascending order and every even terms is derived from the previous  term using the formula (x/2)

Consider the below series :

0,0,2,1,4,2,6,3,8,4,10,5,12,6,14,7,16,8

  • This series is a mixture of 2 series all the odd terms in this series form even numbers in ascending order
  • Every even terms is derived from the previous  term using the formula (x/2)

Write a program to find the nth term in this series.

  1. The value n in a positive integer that should be read from STDIN the nth term that is calculated by the program should be written to STDOUT.
  2. Other than the value of the nth term no other characters /strings or message should be written to STDOUT.

For example

if n=10,the 10 th term in the series is to be derived from the 9th term in the series. The 9th term is 8 so the 10th term is (8/2)=4. Only the value 4 should be printed to STDOUT.

You can assume that the n will not exceed 20,000.

53 comments on “0, 0, 2, 1, 4, 2, 6, 3, 8, 4, 10, 5, 12, 6, 14, 7, 16, 8 This series is a mixture of 2 series all the odd terms in this series form even numbers in ascending order and every even terms is derived from the previous  term using the formula (x/2)”


  • Mohak

    More efficient way in python:
    num = int(input())

    odd,even = 0,0

    if(num%2==0):
    even = (num-1)//2
    print(even)
    else:
    odd = num – 1
    print(odd)


  • sheetal

    #include
    int main(){
    int i,k,c=0,v=0;
    scanf(“%d”,&k);
    int a[20000];
    for(i=1;i<=k;i++){
    a[i]=c;
    c+=2;
    a[++i]=v++;
    }
    printf("%d",a[k]);
    return 0;
    }


  • Narola

    #include
    int main()
    {

    int n;
    scanf(“%d”,&n);
    if(n%2!=0)
    printf(“%d”,n-1);
    else
    printf(“%d”,(n/2)-1);
    }


  • Kbv

    package tcs;

    import java.util.Scanner;

    public class Tcs4 {
    public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    int n=scan.nextInt();
    int a=0;
    int b=0;
    System.out.println(a);
    System.out.println(b);
    for(int i=3;i<=n;i++)
    {
    if(i%2==0)
    {
    b=a/2;
    System.out.println(b);
    }
    else
    {
    a=a+2;
    System.out.println(a);
    }
    }
    }
    }


  • Arjun

    import java.util.Scanner;
    public class series
    {
    public static void main(String[] args)
    {
    System.out.println(“enter n”);
    Scanner obj = new Scanner(System.in);
    int n = obj.nextInt();
    int i=n/2;
    System.out.println((n%2)!=0?i*2:i-1);

    }
    }


  • sucharita.700

    #PYTHON 3.7
    #this program also gives the same result
    i=int(input(‘N(positive integer only)=’))
    if i%2==0: print(i//2-1,end=’,’)
    else: print(i-1,end=’,’)


  • Bhoomika

    #include
    int a[20];
    void main()
    {
    int i,j,n;
    scanf(“%d”,&n);
    for(i=1;i<=n;i=i+2)
    {
    a[i]=(i-1)/2;
    }
    for(j=0;j<=n;j=j+2)
    {
    a[j]=j;
    }
    printf("%d",a[n-1]);

    }


  • Prajjwal

    Recursive code in C

    main()
    {
    int n;
    scanf(“%d”,&n);
    printf(“%d”,term(n));
    }

    int term(int n){
    int a;
    if(n%2!=0)
    return (n-1);
    else
    return(term(n-1)/2);
    }


  • Chandu

    n=int(input())
    if n>20000:
    print(0)
    else:
    if n%2==1:
    print(2*(n//2))
    else:
    print((n//2)-1)