Kaprekar constant program || kaprekar numbers || C++
In this, we are going see a program to find Kaprekar Constant program in C++ Programming Language.
 


The Code given below can be used in TURBO C++ Compilers: -

#include <iostream.h>
#include <stdio.h>
#include <conio.h>

int kap(int num)
{
    int gt = 0, sm = 0, diff = 0, temp, i, j, k;
    int arr[4];
    for (k = 0; k < 4; k++)
    {
        arr[k] = num % 10;
        num = num / 10;
    }

    for (i = 0; i < 4; i++)
    {
        for (j = i + 1; j < 4; j++)
        {
            if (arr[i] > arr[j])
            {
                temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
    }

    for (k = 0; k < 4; k++)
    {
        sm = sm * 10 + arr[k];
    }

    for (i = 0; i < 4; i++)
    {
        for (j = i + 1; j < 4; j++)
        {
            if (arr[i] < arr[j])
            {
                temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
    }

    for (k = 0; k < 4; k++)
    {
        gt = gt * 10 + arr[k];
    }
    diff = gt - sm;
    return diff;
}

void main()
{

    int n;
    cout << "Enter a number: ";
    cin >> n;

    while (n != 6174)
    {
        n = kap(n);
        cout << n << "\n";
    }
    getch();
    clrscr();
}

The Code given below can be used in gcc/g++ Compilers: -

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int kap(int num)
{
    int gt = 0, sm = 0, diff = 0;
    int arr[4];
    for (int i = 0; i < 4; i++)
    {
        arr[i] = num % 10;
        num = num / 10;
    }

    sort(arr, arr + 4);
    for (int i = 0; i < 4; i++)
    {
        sm = sm * 10 + arr[i];
    }

    sort(arr, arr + 4, std::greater<int>());
    for (int i = 0; i < 4; i++)
    {
        gt = gt * 10 + arr[i];
    }
    diff = gt - sm;
    return diff;
}

int main()
{

    int n;
    cout << "Enter a number: ";
    cin >> n;

    while (n != 6174)
    {
        n = kap(n);
        cout << n << "\n";
    }

    return 0;
}


#ENJOY CODING

Post a Comment

FOR ANY DOUBTS AND ERRORS FEEL FREE TO ASK. YOUR DOUBTS WILL BE ADDRESSED ASAP

Previous Post Next Post