Open In App

Program to print reciprocal of letters

Improve
Improve
Like Article
Like
Save
Share
Report

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

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. 

Implementation:

C++




// CPP program to find Reciprocal string
#include <bits/stdc++.h>
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


Javascript




<script>
// javascript program to illustrate...
// Reciprocal Letters
function isLetter(ch){
    if(ch>='a' && ch<='z' || ch>='A' && ch<='Z')
    return true;
    else
    return
    false;
}
function isLowerCase(ch){
    if(ch>='a' && ch<='z')
    return true;
    else
    return
    false;
}
function isUpperCase(ch){
    if( ch>='A' && ch<='Z')
    return true;
    else
    return
    false;
}
 
    // function to print
    // the reciprocal
    function Reciprcalstring( word) {
        var  ch;
        for (var i = 0; i < word.length; i++) {
            ch = word.charAt(i);
 
            // Checking if the character
            // is a letter or not
            if (isLetter(ch)) {
 
                // converting lowercase character
                // To reciprocal character
                if (isLowerCase(ch)) {
                    ch =String.fromCharCode(122 -ch.charCodeAt(0) + 97);
                }
                // converting uppercase character
                // To reciprocal character
                else if (isUpperCase(ch)) {
                    ch =String.fromCharCode(90- ch.charCodeAt(0) + 65);
                 
                }
            }
 
            // display each character
            document.write(ch);
        }
    }
 
    // Driver function
     
        //  input
        var s = "Geeks for Geeks";
        document.write("The reciprocal of " + s + " is - " + "<br\>");
 
        // calling the function
        Reciprcalstring(s);
 
// This code is contributed by umadevi9616
</script>


PHP




<?php
// PHP program to find
// Reciprocal string
 
function check_lowercase_string($string)
{
    return ($string === strtolower($string));
}
 
function check_uppercase_string($string)
{
    return ($string === strtoupper($string));
}
 
// function to print
// the reciprocal
function Reciprcalstring($word)
{
    $ch;
    for ($i = 0; $i < strlen($word); $i++)
    {
        $ch = $word[$i];
         
        // Check if space,
        // then print it
        if($ch == ' ')
            echo ($ch);
             
        // converting lowercase character
        // To reciprocal character
        else if (check_lowercase_string($ch))
        {
            $ch = chr(122 -
                      ord($ch) + 97);
        }
         
        // converting uppercase character
        // To reciprocal character
        else if (check_uppercase_string($ch))
        {
            $ch = chr(90 -
                      ord($ch) + 65);
        }
         
        // display each
        // character
        echo ($ch);
    }
}
 
// Driver Code
$s = "Geeks for Geeks";
echo ("The reciprocal of ".
       $s. " is - ". "\n");
 
// calling the function
Reciprcalstring($s);
 
// This code is contributed by
// Manish Shaw(manishshaw1)
?>


Output

The reciprocal of Geeks for Geeks is - 
Tvvph uli Tvvph

Time Complexity: O(n), where n is the length of the string.
Auxiliary Space: O(1)



Last Updated : 29 Feb, 2024
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads