¿Existe una función cuadrado(x) en C?

Resuelto
geekat Mensajes publicados 223 Fecha de registro   Estado Miembro Última intervención   -  
jisisv Mensajes publicados 3678 Estado Moderador -
Hola,
Existen para la raíz cuadrada que es sqrt, pero no he encontrado para el cuadrado.
Quiero escribir esta función:
Mi código:
#include <stdlib.h> #include <stdio.h> #include <math.h> int main(int argc, char *argv[]) { for (i=0; i<=n; i++) int x = pow(x, 2); // No sé cómo continuar }

3 respuestas

  1. dubcek Mensajes publicados 18627 Fecha de registro   Estado Colaborador Última intervención   5 659
     
    hola
    hay
    double pow(double x, double y)
    para elevar x a la potencia y
    6
    1. geekat Mensajes publicados 223 Fecha de registro   Estado Miembro Última intervención  
       
      ¡Gracias, no la conocía!
      0
    2. jisisv Mensajes publicados 3678 Estado Moderador 936
       
      No hay NINGÚN interés en utilizar pow y Cía para un cuadrado.
      Es mucho más eficiente usar el producto de la entidad (preferentemente una variable simple) por sí misma. En general, todas las elevaciones a potencias enteras se resuelven en un bucle simple y cuadrados, gracias a Horner.
      El uso de pow en este contexto es ineficiente.
      A lo sumo, se puede definir una macro para el cuadrado:
      #define square(a) (a)*(a)

      o para el cubo, eventualmente...

      Dejemos a pow([lf] su uso: elevación de una entidad a una potencia no entera y diferente de 1/2 (en cuyo caso sqrt será más eficiente).
      2