Related Articles
Program to print reciprocal of letters
• Difficulty Level : Medium
• Last Updated : 09 Nov, 2020

Given a string S, we need to find reciprocal of it. The reciprocal of the letter is found by finding the difference between the position of the letter and first letter ‘A’. Then moving the same number of steps from letter ‘Z’. The character that we reach after above steps is reciprocal.

Reciprocal of Z is A and vice versa because if you reverse the position of the alphabet A will be in the position of Z.
Similarly, T is the reciprocal of G, J is the reciprocal of Q.

Examples :

```Input  :    PRAKHAR
Output :    KIZPSZI

Input  :    VARUN
Output :    EZIFM
```

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

Just use a mathematical formula which gives the reciprocal of each character

Reciprocal(x) = ASCII(‘Z’) – ASCII(x) + ASCII(‘A’)

The ASCII value of Z and A will change according
to the uppercase and lowercase.

## C++

 `// CPP program to find Reciprocal string``#include ``using` `namespace` `std;`` ` `// To print reciprocal string``void` `reciprcalString(string word)``{``    ``char` `ch;``    ``for` `(``int` `i = 0; i < word.length(); i++) {``        ``// converting uppercase character``        ``// To reciprocal character``        ``// display the character``        ``if` `(``isupper``(word[i])) {``            ``ch = ``'Z'` `- word[i] + ``'A'``;``            ``cout << ch;``        ``}`` ` `        ``// converting lowercase character``        ``// To reciprocal character``        ``// display the character``        ``else` `if` `(``islower``(word[i])) {``            ``ch = ``'z'` `- word[i] + ``'a'``;``            ``cout << ch;``        ``}`` ` `        ``else` `{``            ``cout << word[i];``        ``}``    ``}``}`` ` `// Driver function``int` `main()``{``    ``string s = ``"Geeks for Geeks"``;``    ``cout << ``"The reciprocal of "` `<< s``         ``<< ``" is - "` `<< endl;``    ``reciprcalString(s);``    ``return` `0;``}`

## Java

 `// JAVA program to illustrate...``// Reciprocal Letters``import` `java.io.*;``import` `java.math.*;``import` `java.text.*;``import` `java.util.*;``import` `java.util.regex.*;`` ` `public` `class` `GFG {`` ` `    ``// function to print``    ``// the reciprocal``    ``static` `void` `Reciprcalstring(String word)``    ``{``        ``char` `ch;``        ``for` `(``int` `i = ``0``; i < word.length(); i++) {``            ``ch = word.charAt(i);`` ` `            ``// Checking if the character``            ``// is a letter or not``            ``if` `(Character.isLetter(ch)) {`` ` `                ``// converting lowercase character``                ``// To reciprocal character``                ``if` `(Character.isLowerCase(ch)) {``                    ``ch = (``char``)(``122` `- (``int``)(ch) + ``97``);``                ``}``                ``// converting uppercase character``                ``// To reciprocal character``                ``else` `if` `(Character.isUpperCase(ch)) {``                    ``ch = (``char``)(``90` `- (``int``)(ch) + ``65``);``                ``}``            ``}`` ` `            ``// display each character``            ``System.out.print(ch);``        ``}``    ``}`` ` `    ``// Driver function``    ``public` `static` `void` `main(String[] args)``    ``{``        ``// static input``        ``String s = ``"Geeks for Geeks"``;``        ``System.out.print(``"The reciprocal of "` `+ s + ``" is - "``                         ``+ ``"\n"``);`` ` `        ``// calling the function``        ``Reciprcalstring(s);``    ``}``}`

## Python3

 `# Python3 program to find Reciprocal string`` ` `# to check for UPPERCASE``def` `isupper(ch):``    ``if` `ch >``=` `'A'` `and` `ch <``=` `'Z'``:``        ``return` `True``    ``return` `False`` ` `# to check for LOWERCASE``def` `islower(ch):``    ``if` `ch >``=` `'a'` `and` `ch <``=` `'z'``:``        ``return` `True``    ``return` `False`` ` `# To print reciprocal string``def` `reciprocalString(word):``    ``ch ``=` `''``    ``for` `i ``in` `range``(``len``(word)):`` ` `        ``# converting uppercase character``        ``# To reciprocal character``        ``# display the character``        ``if` `isupper(word[i]):``            ``ch ``=` `chr``(``ord``(``'Z'``) ``-` `                     ``ord``(word[i]) ``+` `ord``(``'A'``))``            ``print``(ch, end ``=` `"")`` ` `        ``# converting lowercase character``        ``# To reciprocal character``        ``# display the character``        ``elif` `islower(word[i]):``            ``ch ``=` `chr``(``ord``(``'z'``) ``-` `                     ``ord``(word[i]) ``+` `ord``(``'a'``))``            ``print``(ch, end ``=` `"")``        ``else``:``            ``print``(word[i], end ``=` `"")`` ` `# Driver Code``if` `__name__ ``=``=` `"__main__"``:``    ``s ``=` `"Geeks for Geeks"``    ``print``(``"The reciprocal of"``, s, ``"is - "``)``    ``reciprocalString(s)`` ` `# This code is contributed by``# sanjeev2552`

## C#

 `// C# program to find Reciprocal string``using` `System;`` ` `class` `GFG {`` ` `    ``// function to print the reciprocal``    ``static` `void` `Reciprcalstring(``string` `word)``    ``{``        ``char` `ch;``        ``for` `(``int` `i = 0; i < word.Length; i++) {``            ``ch = word[i];`` ` `            ``// Checking if the character``            ``// is a letter or not``            ``if` `(Char.IsLetter(ch) && ch < 128) {`` ` `                ``// converting lowercase character``                ``// To reciprocal character``                ``if` `(``char``.IsLower(ch)) {``                    ``ch = (``char``)(122 - (``int``)(ch) + 97);``                ``}``                 ` `                ``// converting uppercase character``                ``// To reciprocal character``                ``else` `if` `(``char``.IsUpper(ch)) {``                    ``ch = (``char``)(90 - (``int``)(ch) + 65);``                ``}``            ``}`` ` `            ``// display each character``            ``Console.Write(ch);``        ``}``    ``}`` ` `    ``// Driver function``    ``public` `static` `void` `Main()``    ``{``        ``string` `s = ``"Geeks for Geeks"``;``        ``Console.Write(``"The reciprocal of "` `+ s +``                               ``" is - "` `+ ``"\n"``);`` ` `        ``// calling the function``        ``Reciprcalstring(s);``    ``}``}`` ` `// This code is contributed by Sam007`

## PHP

 ``

Output:
```The reciprocal of Geeks for Geeks is -
Tvvph uli Tvvph
```

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up