Open In App

10’s Complement of a decimal number

Last Updated : 01 Sep, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Given a decimal number N. The task is to find 10’s complement of the number N.
Example: 
 

Input : 25
Output : 10's complement is : 75

Input : 456
Output : 10's complement is : 544

 

10’s complement of a decimal number can be found by adding 1 to the 9’s complement of that decimal number. It is just like 2s complement in binary number representation.
Mathematically, 
 

10’s complement = 9’s complement + 1 
 

For example, let us take a decimal number 456, 9’s complement of this number will be 999-456 which will be 543. Now 10s complement will be 543+1=544.
Therefore, 
 

10’s complement = 10len – num 
 

Where, len = total number of digits in num.

 

Below is the program to find 10’s complement of a given number: 
 

C++




// C++ program to find 10's complement
 
#include<iostream>
#include<cmath>
 
using namespace std;
 
// Function to find 10's complement
int complement(int num)
{
    int i,len=0,temp,comp;
     
    // Calculating total digits
    // in num
    temp = num;
    while(1)
    {
        len++;
        num=num/10;
        if(abs(num)==0)
            break;       
    }
     
    // restore num
    num = temp;
     
    // calculate 10's complement
    comp = pow(10,len) - num;
     
    return comp;
}
 
// Driver code
int main()
{
    cout<<complement(25)<<endl;
     
    cout<<complement(456);
     
    return 0;
}


Java




// Java program to find 10's complement
import java.io.*;
 
class GFG
{
// Function to find 10's complement
static int complement(int num)
{
    int i, len = 0, temp, comp;
     
    // Calculating total
    // digits in num
    temp = num;
    while(true)
    {
        len++;
        num = num / 10;
        if(Math.abs(num) == 0)
            break;
    }
     
    // restore num
    num = temp;
     
    // calculate 10's complement
    comp = (int)Math.pow(10,len) - num;
     
    return comp;
}
 
// Driver code
public static void main (String[] args)
{
    System.out.println(complement(25));
     
    System.out.println(complement(456));
}
}
 
// This code is contributed
// by chandan_jnu.


Python3




# Python3 program to find
# 10's complement
import math
 
# Function to find 10's complement
def complement(num):
    i = 0;
    len = 0;
    comp = 0;
     
    # Calculating total
    # digits in num
    temp = num;
    while(1):
        len += 1;
        num = int(num / 10);
        if(abs(num) == 0):
            break;
     
    # restore num
    num = temp;
     
    # calculate 10's complement
    comp = math.pow(10, len) - num;
     
    return int(comp);
 
# Driver code
print(complement(25));
print(complement(456));
 
# This code is contributed by mits


C#




// C# program to find
// 10's complement
using System;
 
class GFG
{
// Function to find 10's complement
static int complement(int num)
{
    int len = 0, temp, comp;
     
    // Calculating total
    // digits in num
    temp = num;
    while(true)
    {
        len++;
        num = num / 10;
        if(Math.Abs(num) == 0)
            break;
    }
     
    // restore num
    num = temp;
     
    // calculate 10's complement
    comp = (int)Math.Pow(10, len) - num;
     
    return comp;
}
 
// Driver code
public static void Main ()
{
    Console.WriteLine(complement(25));
     
    Console.WriteLine(complement(456));
}
}
 
// This code is contributed
// by chandan_jnu.


PHP




<?php
// PHP program to find 10's complement
 
// Function to find 10's complement
function complement($num)
{
    $i;
    $len = 0;
    $comp;
     
    // Calculating total
    // digits in num
    $temp = $num;
    while(1)
    {
        $len++;
        $num = (int)($num / 10);
        if(abs($num) == 0)
            break;
    }
     
    // restore num
    $num = $temp;
     
    // calculate 10's complement
    $comp = pow(10, $len) - $num;
     
    return $comp;
}
 
// Driver code
echo complement(25) . "\n";
echo complement(456);
 
// This code is contributed by mits
?>


Javascript




<script>
// javascript program to find 10's complement
    // Function to find 10's complement
    function complement(num) {
        var i, len = 0, temp, comp;
 
        // Calculating total
        // digits in num
        temp = num;
        while (true) {
            len++;
            num = parseInt(num / 10);
            if (Math.abs(num) == 0)
                break;
        }
 
        // restore num
        num = temp;
 
        // calculate 10's complement
        comp = parseInt( Math.pow(10, len) - num);
 
        return comp;
    }
 
    // Driver code
     
        document.write(complement(25)+"<br/>");
 
        document.write(complement(456));
 
// This code contributed by umadevi9616
</script>


Output: 

75
544

 

Time Complexity: O(logn) where n is the given number

Auxiliary Space: O(1)



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads