Logaritmo iterado o Log*(n) es el número de veces que se debe aplicar iterativamente la función logarítmica antes de que el resultado sea menor o igual a 1.
Aplicaciones: se utiliza en el análisis de algoritmos (consulte Wiki para obtener más detalles)
C++
// Recursive CPP program to find value of // Iterated Logarithm #include <bits/stdc++.h> using namespace std; int _log(double x, double base) { return (int)(log(x) / log(base)); } double recursiveLogStar(double n, double b) { if (n > 1.0) return 1.0 + recursiveLogStar(_log(n, b), b); else return 0; } // Driver code int main() { int n = 100, base = 5; cout << "Log*(" << n << ") = " << recursiveLogStar(n, base) << "\n"; return 0; }
Java
// Recursive Java program to // find value of Iterated Logarithm import java.io.*; class GFG { static int _log(double x, double base) { return (int)(Math.log(x) / Math.log(base)); } static double recursiveLogStar(double n, double b) { if (n > 1.0) return 1.0 + recursiveLogStar(_log(n, b), b); else return 0; } // Driver code public static void main (String[] args) { int n = 100, base = 5; System.out.println("Log*(" + n + ") = " + recursiveLogStar(n, base)); } } // This code is contributed by jit_t
Python3
# Recursive Python3 program to find value of # Iterated Logarithm import math def _log(x, base): return (int)(math.log(x) / math.log(base)) def recursiveLogStar(n, b): if(n > 1.0): return 1.0 + recursiveLogStar(_log(n, b), b) else: return 0 # Driver code if __name__=='__main__': n = 100 base = 5 print("Log*(", n, ") = ", recursiveLogStar(n, base)) # This code is contributed by # Sanjit_Prasad
C#
// Recursive C# program to // find value of Iterated Logarithm using System; public class GFG{ static int _log(double x, double baset) { return (int)(Math.Log(x) / Math.Log(baset)); } static double recursiveLogStar(double n, double b) { if (n > 1.0) return 1.0 + recursiveLogStar(_log(n, b), b); else return 0; } // Driver code static public void Main (){ int n = 100, baset = 5; Console.WriteLine("Log*(" + n + ") = " + recursiveLogStar(n, baset)); } } // This code is contributed by ajit.
PHP
<?php // Recursive PhP program to find // value of Iterated Logarithm function _log($x, $base) { return (int)(log($x) / log($base)); } function recursiveLogStar($n, $b) { if ($n > 1.0) return 1.0 + recursiveLogStar(_log($n, $b), $b); else return 0; } // Driver code $n = 100; $base = 5; echo "Log*(" , $n , ")"," = ", recursiveLogStar($n, $base), "\n"; // This code is contributed by ajit ?>
Javascript
<script> // Javascript program to // find value of Iterated Logarithm function _log( x, base) { return (Math.log(x) / Math.log(base)); } function recursiveLogStar(n, b) { if (n > 1.0) return 1.0 + recursiveLogStar(_log(n, b), b); else return 0; } // Driver code let n = 100, base = 5; document.write("Log*(" + n + ") = " + recursiveLogStar(n, base)); // This code is contributed by sanjoy_62. </script>
Producción :
Log*(100) = 2
Implementación iterativa:
C++
// Iterative CPP function to find value of // Iterated Logarithm int iterativeLogStar(double n, double b) { int count = 0; while (n >= 1) { n = _log(n, b); count++; } return count; }
Java
// Iterative Java function to find value of // Iterated Logarithm public static int iterativeLogStar(double n, double b) { int count = 0; while (n >= 1) { n = _log(n, b); count++; } return count; } // This code is contributed by pratham76
Python3
# Iterative Python function to find value of # Iterated Logarithm def iterativeLogStar(n, b): count = 0 while(n >= 1): n = _log(n, b) count = count + 1 return count # This code is contributed by # Sanjit_Prasad
C#
// Iterative C# function to find value of // Iterated Logarithm static int iterativeLogStar(double n, double b) { int count = 0; while (n >= 1) { n = _log(n, b); count++; } return count; } // This code is contributed by rutvik_56
Javascript
<script> // Iterative javascript function to find // value of Iterated Logarithm function iterativeLogStar(n, b) { var count = 0; while (n >= 1) { n = _log(n, b); count++; } return count; } // This code is contributed by 29AjayKumar </script>
Este artículo es una contribución de Abhishek rajput . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA