Advertisement
Lagx

Cuestionario de Programación #2 Módulo #3 - Funciones y Esca

Sep 21st, 2017
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.25 KB | None | 0 0
  1. 1)
  2. /*
  3. Nombre: Lucas Alarcon
  4. Fecha: 21-09-2017
  5. Nombre programa: funcion exponencial
  6. Proposito: calcula la exponencial mediante la serie de taylor
  7. */
  8. double factorial(int num)
  9. {
  10.     int i;
  11.     double fact;
  12.    
  13.     fact = 1;
  14.    
  15.     for(i=1;i<=num;i++)
  16.     {
  17.         fact = fact * i;
  18.     }
  19.    
  20.     return fact;
  21. }
  22.  
  23. double exponencial(double numero)
  24. {
  25.     double expon = 1;
  26.     double fact;
  27.     double termino;
  28.     int i = 1;
  29.    
  30.     if(numero > 0)
  31.     {
  32.         while(expon != 0)
  33.         {  
  34.             fact = factorial(i);
  35.             termino = (pow(numero,i) / fact);
  36.                
  37.             if(termino < 0.00001)
  38.             {
  39.                 break;
  40.             }
  41.            
  42.             expon = expon + termino;
  43.            
  44.             i++;
  45.         }
  46.     }
  47.     else
  48.     {
  49.         while(expon != 0)
  50.         {  
  51.             fact = factorial(i);
  52.             termino = (pow(numero,i) / fact);
  53.            
  54.             if(fabs(termino)< 0.00001)
  55.             {
  56.                 break;
  57.             }
  58.            
  59.             expon = expon + termino;
  60.            
  61.             i++;
  62.         }  
  63.     }
  64.    
  65.     return expon;
  66. }
  67.  
  68. 2)
  69. /*
  70. Nombre: Lucas Alarcon
  71. Fecha: 21-09-2017
  72. Nombre programa: Primos de Mersenne
  73. Proposito: calcula los primos de mersenne
  74. */
  75. int esPrimo(int x) // funcion que comprueba si un numero es primo
  76. {
  77.     int i;
  78.      
  79.     for(i=2;i<=sqrt(x);i++)
  80.     {
  81.         if(x % i == 0)
  82.         {
  83.             return 0; // si el numero no es primo retorna 0
  84.         }
  85.     }
  86.    
  87.     return 1; // si el numero es primo retorna 1
  88. }
  89.  
  90. void mostrarPrimerosNPrimosMersenne(int n)
  91. {
  92.     int i = 0;
  93.     int j = 2;
  94.     long long int result;
  95.    
  96.     while(i<n)
  97.     {
  98.         result = (pow(2,j)) - 1; // calcula el numero primo
  99.         if((esPrimo(j) == 1) && (esPrimo(result) == 1)) // si el exponente es primo y el numero es primo se imprime el numero
  100.         {
  101.             printf("%lld\n",result);
  102.             i++;
  103.         }
  104.         j++;
  105.     }
  106. }
  107.  
  108. 3)
  109. /*
  110. Nombre: Lucas Alarcon
  111. Fecha: 21-09-2017
  112. Nombre programa: Raíz Cuadrada Aproximada
  113. Proposito: calcula la raiz cuadrada aproximada de un numero
  114. */
  115. unsigned long long raizAproximada(long long numero)
  116. {
  117.     int cont = 0;
  118.     int i = 1;
  119.    
  120.     while(numero>0)
  121.     {
  122.         numero = numero - i;
  123.         cont++;
  124.         i = i + 2;
  125.     }
  126.    
  127.     if(numero == 0) // si el numero es 0 se retorna el contador
  128.     {
  129.         return cont;
  130.     }
  131.     else // si el numero es distinto de cero se retorna contador - 1
  132.     {
  133.         return cont-1;
  134.     }
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement