Encuentre el mayor múltiplo de N dígitos de N

Dado un número N , la tarea es encontrar el mayor múltiplo de N dígitos de N
Ejemplos: 
 

Entrada: N = 2 
Salida: 98 
Explicación: 
98 es el mayor múltiplo de 2 y tiene 2 dígitos.
Entrada: N = 3 
Salida: 999 
Explicación: 
999 es el mayor múltiplo de 3 y tiene 3 dígitos. 
 

Planteamiento: La idea es hacer una observación. 
 

  • Si observamos con atención, se formará una serie como 9, 98, 999, 9996, 99995,…
  • En la serie anterior, el N-ésimo término se puede calcular como: 
     

N*\lfloor \frac{10^N-1}{N} \rfloor
 

  • Por lo tanto, el número N se toma como entrada y se implementa la fórmula anterior.

A continuación se muestra la implementación del enfoque anterior:
 

C++

// C++ program to find largest multiple
// of N containing N digits
#include <iostream>
#include <math.h>
using namespace std;
 
// Function to find the largest
// N digit multiple of N
 
void smallestNumber(int N)
{
    cout << N * floor((pow(10, N) - 1) / N);
}
 
// Driver code
int main()
{
    int N = 2;
    smallestNumber(N);
 
    return 0;
}

Java

// Java program to find largest multiple
// of N containing N digits
import java.util.*;
class GFG{
 
// Function to find the largest
// N digit multiple of N
static void smallestNumber(int N)
{
    System.out.print(N * Math.floor((
                         Math.pow(10, N) - 1) / N));
}
 
// Driver code
public static void main(String args[])
{
    int N = 2;
    smallestNumber(N);
}
}
 
// This code is contributed by Nidhi_biet

Python3

# Python3 program to find largest multiple
# of N containing N digits
from math import floor
 
# Function to find the largest
# N digit multiple of N
def smallestNumber(N):
    print(N * floor((pow(10, N) - 1) / N))
 
# Driver code
if __name__ == '__main__':
    N = 2
    smallestNumber(N)
 
# This code is contributed by Mohit Kumar

C#

// C# program to find largest multiple
// of N containing N digits
using System;
class GFG{
 
// Function to find the largest
// N digit multiple of N
static void smallestNumber(int N)
{
    Console.Write(N * Math.Floor((
                      Math.Pow(10, N) - 1) / N));
}
 
// Driver code
public static void Main()
{
    int N = 2;
    smallestNumber(N);
}
}
 
// This code is contributed by Code_Mech

Javascript

<script>
 
// javascript program to find largest multiple
// of N containing N digits
 
 
// Function to find the largest
// N digit multiple of N
 
function smallestNumber( N)
{
    document.write( N * Math.floor((Math.pow(10, N) - 1) / N));
}
 
// Driver code
let N = 2;
    smallestNumber(N);
 
// This code is contributed by todaysgaurav
 
</script>
Producción: 

98

 

Complejidad de tiempo: O(1)

Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por spp____ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *