Considere las siguientes funciones de C.
int tob (int b, int* arr) { int i; for (i = 0; b>0; i++) { if (b%2) arr [i] = 1; else arr[i] = 0; b = b/2; } return (i); } int pp(int a, int b) { int arr[20]; int i, tot = 1, ex, len; ex = a; len = tob(b, arr); for (i=0; i<len ; i++) { if (arr[i] ==1) tot = tot * ex; ex= ex*ex; } return (tot) ; }
El valor devuelto por pp(3,4) es ________ .
Nota: esta pregunta era de tipo numérico.
(A) 81
(B) 64
(C) 100
(D) 49
Respuesta: (A)
Explicación: las funciones dadas calculan la potencia de un elemento, por lo que imprimirá 3^4 = 81.
#include <stdio.h> int tob (int b, int* arr); int pp(int a, int b); int tob (int b, int* arr) { int i; for (i = 0; b>0; i++) { if (b%2) arr [i] = 1; else arr[i] = 0; b = b/2; } return (i); } int pp(int a, int b) { int arr[20]; int i, tot = 1, ex, len; ex = a; len = tob(b, arr); for (i=0; i<len ; i++) { if (arr[i] ==1) tot = tot * ex; ex= ex*ex; } return (tot) ; } int main() { printf("%d", pp(3, 4)); return 0; }
Código: https://ide.geeksforgeeks.org/snkT2QVCkm
Cuestionario de esta pregunta
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