Minimum Number of Replacements


 

#include<stdio.h>

#include<stdlib.h>


int arr[10000],i=0;

int rec(long int n,int count){

    if(n==1){

        arr[i]=count;

        i+=1;

        return;

    }

    if(n%2==0){

        rec(n/2,count+1);

    }

    else{

        rec(n+1,count+1);

        rec(n-1,count+1);

    }

}

int main()

{

    long int n;

    scanf("%ld",&n);

    rec(n,0);

    int min=100000;

    for(int index=0;index<i;index++){

        if(arr[index]<min){

            min=arr[index];

        }

    }

    printf("%ld",min);

}


Post a Comment

0 Comments