Рубрики

Напишите программу для обратного преобразования цифр номера

Напишите программу для обратного преобразования числа в целое число.


Примеры :

Input : num = 12345
Output : 54321

Input : num = 876
Output : 678

Flowchart:

ИТЕРАЦИОННЫЙ ПУТЬ
Алгоритм:

Input:  num
(1) Initialize rev_num = 0
(2) Loop while num > 0
     (a) Multiply rev_num by 10 and add remainder of num  
          divide by 10 to rev_num
               rev_num = rev_num*10 + num%10;
     (b) Divide num by 10
(3) Return rev_num

Пример:
число = 4562
rev_num = 0

rev_num = rev_num * 10 + num% 10 = 2
число = число / 10 = 456

rev_num = rev_num * 10 + num% 10 = 20 + 6 = 26
число = число / 10 = 45

rev_num = rev_num * 10 + num% 10 = 260 + 5 = 265
число = число / 10 = 4

rev_num = rev_num * 10 + num% 10 = 265 + 4 = 2654
число = число / 10 = 0

Программа:

C ++

#include <bits/stdc++.h>

  

using namespace std;

/ * Итеративная функция для обратного преобразования чисел num * /

int reversDigits(int num)

{

    int rev_num = 0;

    while(num > 0)

    {

        rev_num = rev_num*10 + num%10;

        num = num/10;

    }

    return rev_num;

}

  
/ * Драйверная программа для проверки reversDigits * /

int main()

{

    int num = 4562;

    cout << "Reverse of no. is "

         << reversDigits(num);

    getchar();

    return 0;

}

  
// Этот код добавлен
// Аканкша Рай (Abby_akku)

С

#include <stdio.h>

  
/ * Итеративная функция для обратного преобразования чисел num * /

int reversDigits(int num)

{

    int rev_num = 0;

    while(num > 0)

    {

        rev_num = rev_num*10 + num%10;

        num = num/10;

    }

    return rev_num;

}

  
/ * Драйверная программа для проверки reversDigits * /

int main()

{

    int num = 4562;

    printf("Reverse of no. is %d", reversDigits(num));

  

    getchar();

    return 0;

}

Джава

// Java-программа для изменения числа

  

class GFG

{

    / * Итеративная функция для обратного

    цифры числа * /

    static int reversDigits(int num)

    {

        int rev_num = 0;

        while(num > 0)

        {

            rev_num = rev_num * 10 + num % 10;

            num = num / 10;

        }

        return rev_num;

    }

      

    // Код драйвера

    public static void main (String[] args) 

    {

        int num = 4562;

        System.out.println("Reverse of no. is " 

                           + reversDigits(num));

    }

}

  
// Этот код предоставлен Anant Agarwal.

питон

# Python программа для изменения числа

  

n = 4562;

rev = 0

  

while(n > 0):

    a = n % 10

    rev = rev * 10 + a

    n = n / 10

      

print(rev)

  
# Этот код предоставлен Шариком Раза

C #

// C # программа для изменения числа

using System;

  

class GFG

{

    // Итеративная функция для

    // обратные цифры числа

    static int reversDigits(int num)

    {

        int rev_num = 0;

        while(num > 0)

        {

            rev_num = rev_num * 10 + num % 10;

            num = num / 10;

        }

        return rev_num;

    }

      

    // Код драйвера

    public static void Main() 

    {

        int num = 4562;

        Console.Write("Reverse of no. is "

                        + reversDigits(num));

    }

}

  
// Этот код предоставлен Sam007

PHP

<?php
// Итеративная функция для
// обратные цифры числа

function reversDigits($num)

{

    $rev_num = 0;

    while($num > 1)

    {

        $rev_num = $rev_num * 10 + 

                        $num % 10;

        $num = (int)$num / 10;

    }

    return $rev_num;

}

  
// Код драйвера

$num = 4562;

echo "Reverse of no. is "

       reversDigits($num);

  
// Этот код предоставлен aj_36
?>


Сложность времени: O (Log (n)), где n — номер входа.
Выход:

2654

РЕКУРСИВНЫЙ ПУТЬ
Спасибо Раджу за добавление этого в оригинальный пост.

C ++

// C ++ программа для обратного преобразования цифр числа
#include <bits/stdc++.h>

using namespace std;

/ * Рекурсивная функция для обратного преобразования чисел num * /

int reversDigits(int num)

{

static int rev_num = 0;

static int base_pos = 1;

if(num > 0)

{

    reversDigits(num/10);

    rev_num += (num%10)*base_pos;

    base_pos *= 10;

}

return rev_num;

}

  
// Код драйвера

int main()

{

    int num = 4562;

    cout << "Reverse of no. is " 

         << reversDigits(num);

  

    return 0;

}

  
// Этот код добавлен
// Аканкша Рай (Abby_akku)

С

// C программа для обратного преобразования цифр числа
#include <stdio.h>;

  
/ * Рекурсивная функция для обратного преобразования чисел num * /

int reversDigits(int num)

{

  static int rev_num = 0;

  static int base_pos = 1;

  if(num > 0)

  {

    reversDigits(num/10);

    rev_num  += (num%10)*base_pos;

    base_pos *= 10;

  }

  return rev_num;

}

  
/ * Драйверная программа для проверки reversDigits * /

int main()

{

    int num = 4562;

    printf("Reverse of no. is %d", reversDigits(num));

  

    getchar();

    return 0;

}

Джава

// Java-программа для обратного преобразования цифр числа

  
// Рекурсивная функция для
// обратные цифры числа

class GFG

{

static int rev_num = 0;

static int base_pos = 1;

static int reversDigits(int num)

{

    if(num > 0)

    {

        reversDigits(num / 10);

        rev_num += (num % 10) * base_pos;

        base_pos *= 10;

    }

return rev_num;

}

  
// Код драйвера

public static void main(String[] args)

{

    int num = 4562;

    System.out.println(reversDigits(num));

}
}

  
// Этот код предоставлен mits

python3

# Программа Python 3 для обратного преобразования цифр
№ числа

rev_num = 0

base_pos = 1

  
# Рекурсивная функция для реверса
# цифры числа

def reversDigits(num):

    global rev_num

    global base_pos

    if(num > 0):

        reversDigits((int)(num / 10))

        rev_num += (num % 10) * base_pos

        base_pos *= 10

    return rev_num

      
Код водителя

num = 4562

print("Reverse of no. is ",

         reversDigits(num))

      
# Этот код предоставлен Rajput-Ji

C #

// C # программа для обратного преобразования цифр числа

  
// Рекурсивная функция для
// обратные цифры числа

using System;

class GFG

{

static int rev_num = 0;

static int base_pos = 1;

static int reversDigits(int num)

{

    if(num > 0)

    {

        reversDigits(num / 10);

        rev_num += (num % 10) * base_pos;

        base_pos *= 10;

    }

return rev_num;

}

  
// Код драйвера

public static void Main()

{

    int num = 4562;

    Console.WriteLine(reversDigits(num));

}
}

  
// Этот код добавлен
// по inder_verma

PHP

<?php
// PHP-программа для обратного преобразования цифр числа

$rev_num = 0; 

$base_pos = 1;

  
/ * Рекурсивная функция для
обратные цифры числа * /

function reversDigits($num

    global $rev_num

    global $base_pos

    if($num > 0) 

    

        reversDigits((int)($num / 10)); 

        $rev_num += ($num % 10) * 

                     $base_pos

        $base_pos *= 10; 

    

    return $rev_num

  
// Код драйвера

$num = 4562; 

echo "Reverse of no. is "

       reversDigits($num); 

  
// Этот код предоставлен ajit
?>


Выход:

Reverse of no. is 2654

Сложность времени: O (Log (n)), где n — номер входа.

Обратные цифры целого числа с обработкой переполнения

Обратите внимание, что вышеприведенная программа не учитывает начальные нули. Например, для 100 программа напечатает 1. Если вы хотите напечатать 001, посмотрите этот комментарий от Maheshwar.

Попробуйте расширения вышеуказанных функций, которые также должны работать для чисел с плавающей запятой.

Рекомендуемые посты:

Напишите программу для обратного преобразования цифр номера

0.00 (0%) 0 votes