# Program to find the Encrypted word

• Difficulty Level : Easy
• Last Updated : 02 Mar, 2020

Given a string, the given string is an encrypted word, the task is to decrypt the given string to get the original word.

Examples:

```Input: str = "abcd"
Output: bdee
Explanation:
a -> a + 1 -> b
b -> b + 2 -> d
c -> c + 2 -> e
d -> d + 1 -> e

Input: str = "xyz"
Output: yaa
Explanation:
x -> x + 1 -> y
y -> y + 2 -> a
z -> z + 1 -> a
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach:

Below is the implementation of the above approach:

## C++

 `// C++ program to implement  ` `// the above approach ` ` `  `#include ` `using` `namespace` `std; ` ` `  `// Function to find the encrypted string ` `void` `findWord(string c, ``int` `n) ` `{ ` `    ``int` `co = 0, i; ` ` `  `    ``// to store the encrypted string ` `    ``string s(n, ``' '``); ` ` `  `    ``for` `(i = 0; i < n; i++) { ` `        ``if` `(i < n / 2) ` `            ``co++; ` `        ``else` `            ``co = n - i; ` ` `  `        ``// after 'z', it should go to a. ` `        ``if` `(c[i] + co <= 122) ` `            ``s[i] = (``char``)((``int``)c[i] + co); ` `        ``else` `            ``s[i] = (``char``)((``int``)c[i] + co - 26); ` `    ``} ` `    ``cout << s; ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``string s = ``"abcd"``; ` `    ``findWord(s, s.length()); ` `    ``return` `0; ` `} `

## Java

 `// Java program to implement the above approach ` `import` `java.util.*; ` `import` `java.io.*; ` ` `  `class` `GFG ` `{ ` ` `  `// Static function declared to find ` `// the encrypted string ` `public` `static` `void` `findWord(String c, ``int` `n) ` `{ ` `    ``int` `co = ``0``, i; ` ` `  `    ``// Character array to store ` `    ``//the encrypted string ` `    ``char` `s[] = ``new` `char``[n]; ` `     `  `    ``for` `(i = ``0``; i < n ; i++) ` `    ``{ ` `        ``if` `(i < n / ``2``) ` `            ``co++; ` `        ``else` `            ``co = n - i; ` ` `  `        ``// after 'z', it should go to a. ` `        ``if` `((c.charAt(i) + co) <= ``122``) ` `            ``s[i] = (``char``)((``int``)c.charAt(i) + co); ` `        ``else` `            ``s[i] = (``char``)((``int``)c.charAt(i) + co - ``26``); ` `    ``} ` `     `  `    ``// storing the character array in the string. ` `    ``String str = Arrays.toString(s); ` `    ``System.out.println(str); ` `} ` ` `  `// Driver code ` `public` `static` `void` `main(String args[]) ` `{ ` `    ``String s = ``"abcd"``; ` `    ``findWord(s, s.length()); ` `} ` `} ` ` `  `// This code is contributed by Animesh_Gupta `

## Python3

 `# Python3 program to implement  ` `# the above approach ` ` `  `# Function to find the encrypted string ` `def` `findWord(c, n): ` `    ``co ``=` `0` `     `  `    ``# to store the encrypted string ` `    ``s ``=` `[``0``] ``*` `n ` `    ``for` `i ``in` `range``(n): ` `        ``if` `(i < n ``/` `2``): ` `            ``co ``+``=` `1` `        ``else``: ` `            ``co ``=` `n ``-` `i ` `         `  `        ``# after 'z', it should go to a. ` `        ``if` `(``ord``(c[i]) ``+` `co <``=` `122``): ` `            ``s[i] ``=` `chr``(``ord``(c[i]) ``+` `co) ` `        ``else``: ` `            ``s[i] ``=` `chr``(``ord``(c[i]) ``+` `co ``-` `26``) ` `    ``print``(``*``s, sep ``=` `"") ` ` `  `# Driver code ` `s ``=` `"abcd"` `findWord(s, ``len``(s)) ` ` `  `# This code is contributed by SHUBHAMSINGH10 `

## C#

 `// C# program to implement the above approach ` `using` `System; ` ` `  `class` `GFG ` `{ ` ` `  `// Static function declared to find ` `// the encrypted string ` `public` `static` `void` `findWord(String c, ``int` `n) ` `{ ` `    ``int` `co = 0, i; ` ` `  `    ``// Character array to store ` `    ``// the encrypted string ` `    ``char` `[]s = ``new` `char``[n]; ` `     `  `    ``for` `(i = 0; i < n ; i++) ` `    ``{ ` `        ``if` `(i < n / 2) ` `            ``co++; ` `        ``else` `            ``co = n - i; ` ` `  `        ``// after 'z', it should go to a. ` `        ``if` `((c[i] + co) <= 122) ` `            ``s[i] = (``char``)((``int``)c[i] + co); ` `        ``else` `            ``s[i] = (``char``)((``int``)c[i] + co - 26); ` `    ``} ` `     `  `    ``// storing the character array in the string. ` `    ``String str = String.Join(``""``,s); ` `    ``Console.WriteLine(str); ` `} ` ` `  `// Driver code ` `public` `static` `void` `Main(String []args) ` `{ ` `    ``String s = ``"abcd"``; ` `    ``findWord(s, s.Length); ` `} ` `} ` ` `  `// This code is contributed by PrinciRaj1992 `

Output:

```bdee
```

Time Complexity: O(N)

My Personal Notes arrow_drop_up
Recommended Articles
Page :