El valor posicional se puede definir como el valor representado por un dígito en un número en función de su posición en el número. Aquí está la ilustración del valor posicional con un ejemplo:
Tomemos otro ejemplo para ilustrar el valor posicional de N = 45876
Problema:
Dado un entero positivo N y un dígito D . La tarea es encontrar el valor posicional de un dígito D en el número N dado . Si ocurren varias apariciones de dígitos, encuentre el valor posicional mínimo.
Ejemplo:
Entrada: N = 3928, D = 3
Salida: 3000
Explicación:
El valor posicional de 3 en este número es 3*1000 = 3000
Entrada: N = 67849, D = 6
Salida: 60000
Enfoque de solución:
- Encuentre la posición del dígito del lado derecho del número de entrada. Para encontrar la posición, tome el mod de ese número por 10 y verifique el número y divida el número por 10.
- Cuando se encuentre la posición del dígito, simplemente multiplique el dígito con la posición 10 .
Aquí está la implementación del enfoque anterior:
C++
// C++ implementation to find // place value of a number #include<bits/stdc++.h> using namespace std; // Function to find place value int placeValue(int N, int num) { int total = 1, value = 0, rem = 0; while (true) { rem = N % 10; N = N / 10; if (rem == num) { value = total * rem; break; } total = total * 10; } return value; } // Driver Code int main() { // Digit, which we want // to find place value. int D = 5; // Number from where we // want to find place value. int N = 85932; cout << (placeValue(N, D)); } // This code is contributed by Ritik Bansal
Java
// Java implementation to find // place value of a number import java.util.*; import java.io.*; import java.lang.*; class GFG { // function to find place value static int placeValue(int N, int num) { int total = 1, value = 0, rem = 0; while (true) { rem = N % 10; N = N / 10; if (rem == num) { value = total * rem; break; } total = total * 10; } return value; } // Driver Code public static void main(String[] args) { // Digit, which we want // to find place value. int D = 5; // Number from where we // want to find place value. int N = 85932; System.out.println(placeValue(N, D)); } }
Python3
# Python3 implementation to find # place value of a number # Function to find place value def placeValue(N, num): total = 1 value = 0 rem = 0 while (True): rem = N % 10 N = N // 10 if (rem == num): value = total * rem break total = total * 10 return value # Driver Code # Digit, which we want # to find place value. D = 5 # Number from where we # want to find place value. N = 85932 print(placeValue(N, D)) # This code is contributed by divyamohan123
C#
// C# implementation to find // place value of a number using System; class GFG{ // function to find place value static int placeValue(int N, int num) { int total = 1, value = 0, rem = 0; while (true) { rem = N % 10; N = N / 10; if (rem == num) { value = total * rem; break; } total = total * 10; } return value; } // Driver Code public static void Main() { // Digit, which we want // to find place value. int D = 5; // Number from where we // want to find place value. int N = 85932; Console.Write(placeValue(N, D)); } } // This code is contributed by Code_Mech
Javascript
<script> // JavaScript implementation to find // place value of a number // Function to find place value function placeValue(N, num) { var total = 1, value = 0, rem = 0; while (true) { rem = N % 10; N = parseInt(N / 10); if (rem == num) { value = total * rem; break; } total = total * 10; } return value; } // Driver Code // Digit, which we want // to find place value. var D = 5; // Number from where we // want to find place value. var N = 85932; document.write(placeValue(N, D)); </script>
5000
Tiempo Complejidad: O(log N)
Espacio auxiliar: O(1)