Programa para hallar el N-ésimo término de la serie a, b, b, c, c, c,…….

Dado un número N. La tarea es escribir un programa para encontrar el N-ésimo término en la siguiente serie:
 

a, b, b, c, c, c, d, d, d, d, …..

Ejemplos
 

Input : 12
Output : e

Input : 288
Output : x

La idea es utilizar la fórmula de suma AP para encontrar la solución a este problema. Claramente, la serie se representa como 1a, 2b, 3c, 4d, 5e, etc. Por lo que es un AP.
Ahora podemos usar la fórmula de la suma AP: 
 

sum = (n/2)*(a + (n-1)*d)  

Que en este caso se convierte en suma = (n(n+1))/2 (ya que a = 1 y d = 1) donde ‘suma’ aquí es el N-ésimo término dado.
A continuación se muestra la implementación del enfoque anterior: 
 

C++

// CPP program to find nth term of the
// given series
#include <bits/stdc++.h>
using namespace std;
 
// Function to find nth term of the
// given series
void findNthTerm(int n)
{
    // Let us find roots of equation x * (x + 1)/2 = n
    n = n * 2;
    int a = 1, b = 1, c = -1 * n;
    int d = b * b - 4 * a * c;
    double sqrt_val = sqrt(abs(d));
    int x1 = (double)(-b + sqrt_val) / (2 * a);
    int x2 = (double)(-b - sqrt_val) / (2 * a);
 
    if (x1 >= 1)
        cout << (char)('a' + x1) << endl;
    else if (x2 >= 1)
        cout << (char)('a' + x2) << endl;
}
 
// Driver program
int main()
{
    int n = 12;
    findNthTerm(n);
 
    n = 288;
    findNthTerm(n);
 
    return 0;
}

Java

// Java program to find nth
// term of the given series
import java.io.*;
 
class GFG {
 
    // Function to find nth term
    // of the given series
    static void findNthTerm(int n)
    {
        // Let us find roots of
        // equation x * (x + 1)/2 = n
        n = n * 2;
        int a = 1, b = 1, c = -1 * n;
        int d = b * b - 4 * a * c;
        double sqrt_val = Math.sqrt(Math.abs(d));
        int x1 = (int)((-b + sqrt_val) / (2 * a));
        int x2 = (int)((-b - sqrt_val) / (2 * a));
 
        if (x1 >= 1)
            System.out.println((char)('a' + x1));
        else if (x2 >= 1)
            System.out.println((char)('a' + x2));
    }
 
    // Driver Code
    public static void main(String[] args)
    {
        int n = 12;
        findNthTerm(n);
 
        n = 288;
        findNthTerm(n);
    }
}
 
// This code has been contributed
// by anuj_67.

Python 3

# Python 3 program to find nth
# term of the given series
import math
 
# Function to find nth term
# of the given series
def findNthTerm(n):
 
    # Let us find roots of
    # equation x * (x + 1)/2 = n
    n = n * 2
    a = 1
    b = 1
    c = -1 * n
    d = b * b - 4 * a * c
    sqrt_val = math.sqrt(abs(d))
    x1 = (-b + sqrt_val) // (2 * a)
    x2 = (-b - sqrt_val) // (2 * a)
    x1 = int(x1)
    x2 = int(x2)
     
    # ASCII of 'a' is 97
    if (x1 >= 1):
        print(chr(97+x1))
    elif (x2 >= 1):
        print(chr(97+x2))
 
# Driver Code
if __name__ == "__main__":
    n = 12
    findNthTerm(n)
 
    n = 288
    findNthTerm(n)
 
# This code is contributed
# by ChitraNayal

C#

// C# program to find nth
// term of the given series
using System;
 
public class GFG {
 
    // Function to find nth term
    // of the given series
    static void findNthTerm(int n)
    {
        // Let us find roots of
        // equation x * (x + 1)/2 = n
        n = n * 2;
        int a = 1, b = 1, c = -1 * n;
        int d = b * b - 4 * a * c;
        double sqrt_val = Math.Sqrt(Math.Abs(d));
        int x1 = (int)((-b + sqrt_val) / (2 * a));
        int x2 = (int)((-b - sqrt_val) / (2 * a));
 
        if (x1 >= 1)
            Console.WriteLine((char)('a' + x1));
        else if (x2 >= 1)
            Console.WriteLine((char)('a' + x2));
    }
 
    // Driver Code
    static public void Main(String[] args)
    {
        int n = 12;
        findNthTerm(n);
 
        n = 288;
        findNthTerm(n);
    }
}
// contributed by Arnab Kundu

PHP

<?php
// PHP program to find nth
// term of the given series
 
// Function to find nth term
// of the given series
function findNthTerm($n)
{
    // Let us find roots of
    // equation x * (x + 1)/2 = n
    $n = $n * 2;
    $a = 1;
    $b = 1;
    $c = -1 * $n;
    $d = $b * $b - 4 * $a * $c;
    $sqrt_val = sqrt(abs($d));
    $x1 = (-$b + $sqrt_val) / (2 * $a);
    $x2 = (-$b - $sqrt_val) / (2 * $a);
 
    // Ascii of 'a' is 97
    if((int)$x1 >= 1)
        echo chr(97+$x1) . "\n";
    else if ((int)$x2 >= 1)
        echo chr(97+$x2), "\n";
}
 
// Driver Code
$n = 12;
findNthTerm($n);
 
$n = 288;
findNthTerm($n);
 
// This Code is contributed by mits
?>

Javascript

<script>
 
// Javascript program to find nth
// term of the given series
const str = "abcdefghijklmnopqrstuvwxyz";
 
// Function to find nth term
    // of the given series
    function findNthTerm( n) {
        // Let us find roots of
        // equation x * (x + 1)/2 = n
        n = n * 2;
        let a = 1, b = 1, c = -1 * n;
        let d = b * b - 4 * a * c;
        let sqrt_val = Math.sqrt(Math.abs(d));
        let x1 = parseInt( ((-b + sqrt_val) / (2 * a)));
        let x2 = parseInt( ((-b - sqrt_val) / (2 * a)));
 
        if (x1 >= 1)
            document.write(str[x1]+"<br/>");
        else if (x2 >= 1)
            document.write(str[x2]+"<br/>");
    }
 
    // Driver Code
      
        let n = 12;
        findNthTerm(n);
 
        n = 288;
        findNthTerm(n);
 
// This code is contributed by shikhasingrajput
 
</script>
Producción: 

e
x

 

Publicación traducida automáticamente

Artículo escrito por Smitha Dinesh Semwal 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 *