:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--color-danger-fg)}.markdown-body .anchor{float:left;margin-left:-20px;padding-right:4px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;background-color:var(--color-border-default);border:0;margin:24px 0;padding:0}.markdown-body blockquote{color:var(--color-fg-muted);border-left:.25em solid var(--color-border-default);padding:0 1em}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-weight:var(--base-text-weight-semibold,600);margin-top:24px;margin-bottom:16px;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--color-fg-default);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit;padding:0 .2em}.markdown-body h1{border-bottom:1px solid var(--color-border-muted);padding-bottom:.3em;font-size:2em}.markdown-body h2{border-bottom:1px solid var(--color-border-muted);padding-bottom:.3em;font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{color:var(--color-fg-muted);font-size:.85em}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{border-bottom:0;padding-bottom:0}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type=a]{list-style-type:lower-alpha}.markdown-body ol[type=A]{list-style-type:upper-alpha}.markdown-body ol[type=i]{list-style-type:lower-roman}.markdown-body ol[type=I]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold,600);margin-top:16px;padding:0}.markdown-body dl dd{margin-bottom:16px;padding:0 16px}.markdown-body table{width:100%;width:-webkit-max-content;width:-webkit-max-content;width:max-content;max-width:100%;display:block;overflow:auto}.markdown-body table th{font-weight:var(--base-text-weight-semibold,600)}.markdown-body table th,.markdown-body table td{border:1px solid var(--color-border-default);padding:6px 13px}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:var(--color-canvas-default);border-top:1px solid var(--color-border-muted)}.markdown-body table tr:nth-child(2n){background-color:var(--color-canvas-subtle)}.markdown-body table img{background-color:transparent}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:var(--color-canvas-default)}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{float:left;width:auto;border:1px solid var(--color-border-default);margin:13px 0 0;padding:7px;display:block;overflow:hidden}.markdown-body span.frame span img{float:left;display:block}.markdown-body span.frame span span{clear:both;color:var(--color-fg-default);padding:5px 0 0;display:block}.markdown-body span.align-center{clear:both;display:block;overflow:hidden}.markdown-body span.align-center>span{text-align:center;margin:13px auto 0;display:block;overflow:hidden}.markdown-body span.align-center span img{text-align:center;margin:0 auto}.markdown-body span.align-right{clear:both;display:block;overflow:hidden}.markdown-body span.align-right>span{text-align:right;margin:13px 0 0;display:block;overflow:hidden}.markdown-body span.align-right span img{text-align:right;margin:0}.markdown-body span.float-left{float:left;margin-right:13px;display:block;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{float:right;margin-left:13px;display:block;overflow:hidden}.markdown-body span.float-right>span{text-align:right;margin:13px auto 0;display:block;overflow:hidden}.markdown-body code,.markdown-body tt{white-space:break-spaces;background-color:var(--color-neutral-muted);border-radius:6px;margin:0;padding:.2em .4em;font-size:85%}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre{word-wrap:normal}.markdown-body pre code{font-size:100%}.markdown-body pre>code{word-break:normal;white-space:pre;background:0 0;border:0;margin:0;padding:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{word-break:normal;margin-bottom:0}.markdown-body .highlight pre,.markdown-body pre{background-color:var(--color-canvas-subtle);border-radius:6px;padding:16px;font-size:85%;line-height:1.45;overflow:auto}.markdown-body pre code,.markdown-body pre tt{max-width:auto;line-height:inherit;word-wrap:normal;background-color:transparent;border:0;margin:0;padding:0;display:inline;overflow:visible}.markdown-body .csv-data td,.markdown-body .csv-data th{text-align:left;white-space:nowrap;padding:5px;font-size:12px;line-height:1;overflow:hidden}.markdown-body .csv-data .blob-num{text-align:right;background:var(--color-canvas-default);border:0;padding:10px 8px 9px}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:var(--base-text-weight-semibold,600);background:var(--color-canvas-subtle);border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{color:var(--color-fg-muted);border-top:1px solid var(--color-border-default);font-size:12px}.markdown-body .footnotes ol{padding-left:16px}.markdown-body .footnotes ol ul{margin-top:16px;padding-left:16px;display:inline-block}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{pointer-events:none;content:"";border:2px solid var(--color-accent-emphasis);border-radius:6px;position:absolute;top:-8px;bottom:-8px;left:-24px;right:-8px}.markdown-body .footnotes li:target{color:var(--color-fg-default)}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body{background-color:var(--color-canvas-default);color:var(--color-fg-default)}.markdown-body a{color:var(--color-accent-fg);text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body img[align=center]{margin:0 auto}.markdown-body iframe{background-color:#fff;border:0;margin-bottom:16px}.markdown-body svg.octicon{fill:currentColor}.markdown-body .anchor>.octicon{display:inline}.markdown-body figcaption{text-align:center;padding-top:2px}.markdown-body .highlight .token.keyword,.gfm-highlight .token.keyword{color:var(--color-prettylights-syntax-keyword)}.markdown-body .highlight .token.tag .token.class-name,.markdown-body .highlight .token.tag .token.script .token.punctuation,.gfm-highlight .token.tag .token.class-name,.gfm-highlight .token.tag .token.script .token.punctuation{color:var(--color-prettylights-syntax-storage-modifier-import)}.markdown-body .highlight .token.operator,.markdown-body .highlight .token.number,.markdown-body .highlight .token.boolean,.markdown-body .highlight .token.tag .token.punctuation,.markdown-body .highlight .token.tag .token.script .token.script-punctuation,.markdown-body .highlight .token.tag .token.attr-name,.gfm-highlight .token.operator,.gfm-highlight .token.number,.gfm-highlight .token.boolean,.gfm-highlight .token.tag .token.punctuation,.gfm-highlight .token.tag .token.script .token.script-punctuation,.gfm-highlight .token.tag .token.attr-name{color:var(--color-prettylights-syntax-constant)}.markdown-body .highlight .token.function,.gfm-highlight .token.function{color:var(--color-prettylights-syntax-entity)}.markdown-body .highlight .token.string,.gfm-highlight .token.string{color:var(--color-prettylights-syntax-string)}.markdown-body .highlight .token.comment,.gfm-highlight .token.comment{color:var(--color-prettylights-syntax-comment)}.markdown-body .highlight .token.class-name,.gfm-highlight .token.class-name{color:var(--color-prettylights-syntax-variable)}.markdown-body .highlight .token.regex,.gfm-highlight .token.regex{color:var(--color-prettylights-syntax-string)}.markdown-body .highlight .token.regex .regex-delimiter,.gfm-highlight .token.regex .regex-delimiter{color:var(--color-prettylights-syntax-constant)}.markdown-body .highlight .token.tag .token.tag,.markdown-body .highlight .token.property,.gfm-highlight .token.tag .token.tag,.gfm-highlight .token.property{color:var(--color-prettylights-syntax-entity-tag)}.markdown-body .highlight .token.deleted,.gfm-highlight .token.deleted{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.markdown-body .highlight .token.inserted,.gfm-highlight .token.inserted{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}

Find i'th Index character in a binary string obtained after n iterations (original) (raw)

Last Updated : 08 Dec, 2023

Given a decimal number m, convert it into a binary string and apply n iterations. In each iteration, 0 becomes "01" and 1 becomes "10". Find the (based on indexing) index character in the string after the nth iteration.

**Examples:

**Input : m = 5, n = 2, i = 3
**Output : 1
**Input : m = 3, n = 3, i = 6
**Output : 1

Recommended: Please solve it on "_PRACTICE" first, before moving on to the solution.

  1. Change a decimal number into a binary and store it in string s.
  2. Run loop n times in each iteration. Run another loop of string length s to convert 0 to "01" and 1 to "10" and store in another string s1. After completion of each iteration, assign string s1 to s.
  3. Finally, return the value of the ith index in string s.

**Implementation:

C++ `

// C++ Program to find ith character in // a binary string. #include <bits/stdc++.h> using namespace std;

// Function to store binary Representation void binary_conversion(string &s, int m) { while (m) { int tmp = m % 2; s += tmp + '0'; m = m / 2; } reverse(s.begin(), s.end()); }

// Function to find ith character int find_character(int n, int m, int i) {

string s;

// Function to change decimal to binary binary_conversion(s, m);

string s1 = ""; for (int x = 0; x < n; x++) { for (int y = 0; y < s.length(); y++) { if (s[y] == '1') s1 += "10"; else s1 += "01";
}

// Assign s1 string in s string
s = s1;
s1 = "";

} return s[i] - '0'; }

// Driver Function int main() { int m = 5, n = 2, i = 8; cout << find_character(n, m, i); return 0; }

Java

// Java Program to find ith // character in a binary String. import java.io.*; import java.util.Arrays;

class GFG { static String s = ""; static String ReverseString(String s) { char[] arr = s.toCharArray(); for(int i = 0; i < arr.length / 2; i++) { char temp = arr[i]; arr[i] = arr[arr.length - i -1]; arr[arr.length - i - 1] = temp; } return new String(arr); }

// Function to store // binary Representation static void binary_conversion(int m) { while (m != 0) { int tmp = m % 2; s += Integer.toString(tmp); m = (int)(m / 2); }

s = ReverseString(s);

}

// Function to find // ith character static int find_character(int n, int m, int i) {
// Function to change // decimal to binary binary_conversion(m);

String s1 = "";
for (int x = 0; x < n; x++) 
{
    for (int y = 0; 
             y < s.length(); y++) 
    {
        if (s.charAt(y) == '1') 
        s1 += "10";
        else
        s1 += "01";     
    }
    
    // Assign s1 String 
    // in s String
    s = s1;
    s1 = "";
}

return s.charAt(i) - '0';

}

// Driver Code public static void main(String args[]) { int m = 5, n = 2, i = 8; System.out.print( find_character(n, m, i)); } }

// This code is contributed by // Manish Shaw(manishshaw1)

Python3

Python3 Program to find ith character in

a binary string.

Function to store binary Representation

def binary_conversion(s, m): while(m): temp = m % 2 s += str(temp) m = m // 2

return s[::-1]

Function to find ith character

def find_character(n, m, i): s = ""

Function to change decimal to binary

s = binary_conversion(s, m)
s1 = ""

for x in range(n):
    for j in range(len(s)):
        if s[j] == "1":
            s1 += "10"
        else:
            s1 += "01"

# Assign s1 string in s string     
    s = s1
    s1 = ""
e = ord(s[i])
r = ord('0')

return e-r

Driver code

m, n, i = 5, 2, 8

print(find_character(n,m,i))

This code is contributed by mohit kumar 29

C#

// C# Program to find ith // character in a binary string. using System;

class GFG { static string ReverseString(string s) { char[] arr = s.ToCharArray(); Array.Reverse(arr); return new string(arr); }

// Function to store
// binary Representation
static void binary_conversion(ref string s, 
                              int m) 
{
    while (m != 0) 
    {
        int tmp = m % 2;
        s += tmp.ToString();
        m = (int)(m / 2);
    }
    
    s = ReverseString(s);
}

// Function to find 
// ith character
static int find_character(int n, 
                          int m, int i) 
{     
    string s = "";

    // Function to change
    // decimal to binary
    binary_conversion(ref s, m);

    string s1 = "";
    for (int x = 0; x < n; x++) 
    {
        for (int y = 0; y < s.Length; y++) 
        {
            if (s[y] == '1') 
            s1 += "10";
            else
            s1 += "01";     
        }
        
        // Assign s1 string 
        // in s string
        s = s1;
        s1 = "";
    }
    
    return s[i] - '0';
}

// Driver Code
static void Main()
{
    int m = 5, n = 2, i = 8;
    Console.Write(find_character(n, m, i));
}

}

// This code is contributed by // Manish Shaw(manishshaw1)

JavaScript

PHP

temp=temp = temp=m % 2; s.=strval(s .= strval(s.=strval(temp); m=(int)(m = (int)(m=(int)(m / 2); } return strrev($s); } // Function to find ith character function findCharacter($n, m,m, m,i) { $s = ""; // Function to change decimal to binary s=binaryConversion(s = binaryConversion(s=binaryConversion(s, $m); $s1 = ""; for ($x = 0; x<x < x<n; $x++) { for ($j = 0; j<strlen(j < strlen(j<strlen(s); $j++) { if ($s[$j] == "1") { $s1 .= "10"; } else { $s1 .= "01"; } } // Assign s1 string to s string s=s = s=s1; $s1 = ""; } e=ord(e = ord(e=ord(s[$i]); $r = ord('0'); return e−e - er; } // Driver code $m = 5; $n = 2; $i = 8; echo findCharacter($n, m,m, m,i); ?>

`

**Time complexity ****: O(|S|*2^n)**
**Auxiliary Space : O(n)

Refer Set-2 for an optimized solution.

Similar Reads

Strings in different language








Basic operations on String












Binary String







Substring and Subsequence












Palindrome