10's Complement of a decimal number

Last Updated : 11 Jul, 2025

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)

Comment