#include #include #define MAX 100 /*-------------------------------------------------------------------------------------*/ /*Procedimiento que implementa el desarrollo de MacLaurin para la función exponencial. Parámetros: x: número real entre (0,1) n: parámetro por referencia, donde se guarda el entero para el que se cumple que e^x-Sn. Sn: parámetro por referencia, donde se guarda el desarrollo de MacLaurin.*/ void desarrolloMacLaurin(double x, int *n, double *Sn){ int i=0; /*Variable iterador qeu será equivalente a n*/ long int factorial=1; /*Variable donde guardaremos i!*/ double eX=exp(x);/*precalculamos e^x*/ *Sn=1;/*Para i=0 x^i=1 y 0!=1*/ /*Repetimos aproximaciones hasta que e^x - Sn <= 0,0001*/ while (eX- *Sn > 0.0001) { i=i+1; /*Nos vamos al siguiente elemento*/ factorial=factorial*i; /*calculo el factorial para i*/ *Sn=*Sn+pow(x,i)/factorial; /*Añado el elemento e-nésimo de la sumatoria*/ } /*Guardamos el n para el que se satisface la condición*/ *n=i; } /*Fin procedimiento desarrollo MacLaurin*/ /*-------------------------------------------------------------------------------------*/ /*Función que nos dice si el número dado como parámetro es primo o no Parámetro: n; número natural que tenemos que estudiar Resultado 1 si el número es primo, 0 en el caso de que no lo sea */ int primo(int n){ int i=0; /*Miramos si es el 1 o el 2, en cuyo caso es primo*/ if ((n==1) || (n==2)) return 1; /*Miramos si es un par distinto de 2, en cuyo caso no es primo*/ if (n%2==0) return 0; /*Miro los impares hasta raiz de n, buscando un divisor*/ for (i=3;i<=sqrt(n);i=i+2) if (n%i==0) return 0; /*Si no he encontrado ningún divisor, es primo*/ return 1; }/*Fin función primo*/ /*-------------------------------------------------------------------------------------*/ int mainBernard(){ int n; int i; /*Leo el número*/ do{ printf("\nDame un número netero positivo:"); scanf("%d",&n); }while (n<0); /*Busco el primer primo entre n y 2n*/ i=n; while ( (i<2*n) && !primo(i) ) i++; /*Muestro el primo ..... sino falla la conjetura de Bernard*/ if (i==2*n) printf("¡¡¡La conjetura de Bernard falla para n=%d!!!",n); else printf("El menor primo entre n=%d y 2n=%d es %d",n,2*n,i); /*Termino la función main*/ return 0; }/*Fin main Conjetura de Bernard*/ /*-------------------------------------------------------------------------------------*/ /*Función que suma los productos de las diagonales principal y secundaria. Parámetros: matriz: matriz cuadrada de tamaño MAXxMAX (MAX es una cte.) n: Orden útil de la matriz, esto es, número de filas y/o columnas Resultado: suma de la multiplicación uno a uno de los elementos de la diagonal principal con los de la diagonal secundaria. */ int sumaDiagonalesMultiplicadas(int matriz[MAX][MAX], int n){ int i; int suma=0; /*Donde guardo la sumatoria*/ /*Recorro la matriz por filas, quedándome sólo con las dos columnas que me interesan*/ for (i=0;i printf ("%s \n",( 10*10+11*11+12*12==13*13+14*14)?"Sip":"Nop");*/ /*Termino la función main*/ return 0; } /*-------------------------------------------------------------------------------------*/ /*Función que calcula el número de rachas de una serie numérica. Parámetros: vector: vector con los datos. n: tamaño del vector. mediana: mediana, ya calculada, de la serie de números dada. Devuelve: Un entero con el número de rachas del vector */ int rachas(double vector[], int n, double mediana){ int i; int numRachas=1;/*Siempre hay, al menos, una racha*/ /*Recorremos el vector, en busca de las rachas*/ for (i=0;i tengo una racha*/ if ( (vector[i]=mediana) || (vector[i]>=mediana && vector[i+1]