Pregunta 1
Prediga la salida del siguiente programa.
C++
#include <iostream> using namespace std; void fun(int x) { if(x > 0) { fun(--x); cout << x <<" "; fun(--x); } } int main() { int a = 4; fun(a); return 0; } // This code is contributed by SHUBHAMSINGH10
C
#include<stdio.h> void fun(int x) { if(x > 0) { fun(--x); printf("%d\t", x); fun(--x); } } int main() { int a = 4; fun(a); getchar(); return 0; }
Java
import java.io.*; class GFG { static void fun(int x) { if(x > 0) { fun(--x); System.out.print(x + " "); fun(--x); } } public static void main (String[] args) { int a = 4; fun(a); } } // This code is contributed by SHUBHAMSINGH10
Python3
def fun(x): if(x > 0): x -= 1 fun(x) print(x , end=" ") x -= 1 fun(x) # Driver code a = 4 fun(a) # This code is contributed by SHUBHAMSINGH10
C#
using System; class GFG{ static void fun(int x) { if(x > 0) { fun(--x); Console.Write(x + " "); fun(--x); } } static public void Main () { int a = 4; fun(a); } } // This code is contributed by SHUBHAMSINGH10
Javascript
<script> function fun(x) { if (x > 0) { x -= 1 fun(x) document.write(x + " "); x -= 1 fun(x) } } // Driver code let a = 4; fun(a) // This code is contributed by bobby </script>
0 1 2 0 3 0 1
Complejidad del tiempo: O(2 n )
Espacio Auxiliar: O(n)
fun(4); / fun(3), print(3), fun(2)(prints 0 1) / fun(2), print(2), fun(1)(prints 0) / fun(1), print(1), fun(0)(does nothing) / fun(0), print(0), fun(-1) (does nothing)
Pregunta 2
Prediga la salida del siguiente programa. ¿Qué hace el siguiente fun() en general?
C++
#include <iostream> using namespace std; int fun(int a[],int n) { int x; if(n == 1) return a[0]; else x = fun(a, n - 1); if(x > a[n - 1]) return x; else return a[n - 1]; } int main() { int arr[] = {12, 10, 30, 50, 100}; cout << " " << fun(arr, 5) <<" "; getchar(); return 0; } // This code is contributed by shubhamsingh10
C
#include<stdio.h> int fun(int a[],int n) { int x; if(n == 1) return a[0]; else x = fun(a, n-1); if(x > a[n-1]) return x; else return a[n-1]; } int main() { int arr[] = {12, 10, 30, 50, 100}; printf(" %d ", fun(arr, 5)); getchar(); return 0; }
Java
import java.io.*; class GFG { static int fun(int a[],int n) { int x; if(n == 1) return a[0]; else x = fun(a, n - 1); if(x > a[n - 1]) return x; else return a[n - 1]; } public static void main (String[] args) { int arr[] = {12, 10, 30, 50, 100}; System.out.println(" "+fun(arr, 5)+" "); } } // This code is contributed by shubhamsingh10
Python3
def fun( a, n): if(n == 1): return a[0] else: x = fun(a, n - 1) if(x > a[n - 1]): return x else: return a[n - 1] # Driver code arr = [12, 10, 30, 50, 100] print(fun(arr, 5)) # This code is contributed by shubhamsingh10
C#
using System; public class GFG{ static int fun(int[] a,int n) { int x; if(n == 1) return a[0]; else x = fun(a, n - 1); if(x > a[n - 1]) return x; else return a[n - 1]; } static public void Main () { int[] arr = {12, 10, 30, 50, 100}; Console.Write(" "+fun(arr, 5)+" "); } } // This code is contributed by shubhamsingh10
Javascript
<script> //Javascript Implementation function fun(a, n) { var x; if(n == 1) return a[0]; else x = fun(a, n - 1); if(x > a[n - 1]) return x; else return a[n - 1]; } // Driver code var arr = [12, 10, 30, 50, 100]; document.write(fun(arr, 5)); // This code is contributed by shubhamsingh10 </script>
100
Complejidad temporal: O(n)
Espacio Auxiliar: O(n)
fun() devuelve el valor máximo en la array de entrada a[] de tamaño n.
Pregunta 3
Prediga la salida del siguiente programa. ¿Qué hace el siguiente fun() en general?
C++
#include <iostream> using namespace std; int fun(int i) { if (i % 2) return (i++); else return fun(fun(i - 1)); } int main() { cout << " " << fun(200) << " "; getchar(); return 0; } // This code is contributed by Shubhamsingh10
C
int fun(int i) { if ( i%2 ) return (i++); else return fun(fun( i - 1 )); } int main() { printf(" %d ", fun(200)); getchar(); return 0; }
Java
import java.io.*; class GFG { static int fun(int i) { if (i % 2 == 1) return (i++); else return fun(fun(i - 1)); } public static void main (String[] args) { System.out.println(" " + fun(200) + " "); } } // This code is contributed by Shubhamsingh10
Python3
def fun(i) : if (i % 2 == 1) : i += 1 return (i - 1) else : return fun(fun(i - 1)) print(fun(200)) # This code is contributed by divyeshrabadiya07
C#
using System; class GFG{ static int fun(int i) { if (i % 2 == 1) return (i++); else return fun(fun(i - 1)); } // Driver code static public void Main () { Console.WriteLine(fun(200)); } } // This code is contributed by Shubhamsingh10
Javascript
<script> function fun(i) { if (i % 2 == 1) return (i++); else return fun(fun(i - 1)); } // Driver code document.write(fun(200)); // This code is contributed by bobby </script>
199
Si n es impar, entonces devuelve n, de lo contrario devuelve (n-1). Por ejemplo, para n = 12, obtienes 11 y para n = 11 obtienes 11. La instrucción “return i++;” devuelve el valor de i solo porque es un incremento posterior.
Complejidad temporal: O(n)
Espacio Auxiliar: O(1)
Escriba comentarios si encuentra que alguna de las respuestas/códigos es incorrecta, o si desea compartir más información/preguntas sobre los temas discutidos 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