 Open in App
Not now

# Binary String of given length that without a palindrome of size 3

• Difficulty Level : Medium
• Last Updated : 22 Jul, 2022

Given an integer n. Find a string of characters ‘a’ and ‘b’ such that the string doesn’t contain any palindrome of length 3.

Examples:

```Input : 3
Output : "aab"
Explanation:
aab is not a palindrome.

Input : 5
Output : aabba
Explanation:
aabba does not contain a palindrome
of size 3.```

The approach here is that we can use this string ‘aabb’ and print the characters of the string according to the given integer.

```We need to make sure that every third
character is different.

If we perform operation AND on i and 2 where
i = 0 to any positive integer. It will generate
a pattern 0, 0, 2, 2, 0, 0, 2, 2,...
0 AND 2 = 0
1 AND 2 = 0
2 AND 2 = 2
3 AND 2 = 2
4 AND 2 = 0 //repeat the pattern.```

Below is the code of above approach.

## C++

 `// CPP program find a binary string of``// given length that doesn't contain``// a palindrome of size 3.``#include ``using` `namespace` `std;` `void` `generatestring(``int` `n)``{``    ``// Printing the character according to i``    ``for` `(``int` `i = 0; i < n; i++)``        ``putchar``(i & 2 ? ``'b'` `: ``'a'``);``    ``puts``(``""``);``}` `// Driver code``int` `main()``{``    ``int` `n = 5;``    ``generatestring(n);``    ``n = 8;``    ``generatestring(n);``    ``n = 10;``    ``generatestring(n);``}`

## Java

 `// JAVA program find a binary String of``// given length that doesn't contain``// a palindrome of size 3.` `class` `GFG``{` `static` `void` `generateString(``int` `n)``{``    ``String s = ``""``;``    ` `    ``// Printing the character according to i``    ``for` `(``int` `i = ``0``; i < n; i++)``        ``s += ((i & ``2``) > ``1` `? ``'b'` `: ``'a'``);``    ``System.out.println(s);``}` `// Driver code``public` `static` `void` `main(String[] args)``{``    ``int` `n = ``5``;``    ``generateString(n);``    ``n = ``8``;``    ``generateString(n);``    ``n = ``10``;``    ``generateString(n);``}``}` `// This code is contributed by Rajput-Ji`

## Python3

 `# Python3 program find a binary String of``# given length that doesn't contain``# a palindrome of size 3.``def` `generateString(n):``    ``s ``=` `"";``    ` `    ``# Printing the character according to i``    ``for` `i ``in` `range``(n):``        ``if``((i & ``2``) > ``1``):``            ``s ``+``=` `'b'``;``        ``else``:``            ``s ``+``=` `'a'``;``    ``print``(s);` `# Driver code``if` `__name__ ``=``=` `'__main__'``:` `    ``n ``=` `5``;``    ``generateString(n);``    ``n ``=` `8``;``    ``generateString(n);``    ``n ``=` `10``;``    ``generateString(n);` `# This code is contributed by 29AjayKumar`

## C#

 `// C# program find a binary String of``// given length that doesn't contain``// a palindrome of size 3.``using` `System;` `class` `GFG``{` `static` `void` `generateString(``int` `n)``{``    ``String s = ``""``;``    ` `    ``// Printing the character according to i``    ``for` `(``int` `i = 0; i < n; i++)``        ``s += ((i & 2) > 1 ? ``'b'` `: ``'a'``);``    ``Console.WriteLine(s);``}` `// Driver code``public` `static` `void` `Main(String[] args)``{``    ``int` `n = 5;``    ``generateString(n);``    ``n = 8;``    ``generateString(n);``    ``n = 10;``    ``generateString(n);``}``}` `// This code is contributed by Rajput-Ji`

## Javascript

 ``

Output

```aabba
aabbaabb
aabbaabbaa
```

My Personal Notes arrow_drop_up