Está en la página 1de 4

PROBLEMA 1 TORRE DE HANOI #include<iostream.h> #include<conio.h> #include<stdlib.h> #include<math.

h> void hanoi(int n,char com, char aux, char fin); //funcin recursiva para describir los movimientos void main(){ char com='A'; char aux='B'; char fin='C'; int n; double N; cout<<"Numeros de discos: ";cin>>n; cout<<"Numero MINIMO de movimientos: "<<pow(2,n)-1<<endl; cout<<"Los movimientos son:"<<endl; hanoi(n,com,aux,fin); getch(); } //desarrollo de la funcin recursiva void hanoi(int n,char com, char aux, char fin){ if(n==1) cout<<com<<"->"<<fin<<endl; else { hanoi(n-1,com,fin,aux); cout<<com<<"->"<<fin<<endl; hanoi(n-1,aux,com,fin); } }

PROBLEMA 2 SERIE #include <iostream.h> #include <conio.h> #include <math.h> void main(){ int n, a, b; double suma, s[10000]; cout<<"Ingrese el valor de a: "; cin>>a; cout<<"Ingrese el valor de b: "; cin>>b; cout<<"Ingrese el numero de terminos: "; cin>>n; suma=0; for(int i=1; i<=n; i++){ double k=i*1.0;//pasamos al subndice i de entero al real k s[i]=pow(sqrt((2*k-1)*a)+2*k*b,1/(2*k))/pow(2*k*a-sqrt((2*k-1)*b),1/(2*k-1)); if(i%2!=0)//condicin para un trmino impar suma+=s[i]; else//para un trmino par suma-=s[i]; cout<<"s["<<i<<"]="<<suma<<endl; } getch(); }

PROBLEMA 3 MTODO MONTECARLO PARA HALLAR PI #include <iostream.h> #include <math.h> #include <stdlib.h> #include <conio.h> void main(){ int n, c; cout<<"Ingrese numero de coordenadas: "; cin>>n; double x[10000], y[10000], pi; c=0; for(int i=1; i<=n; i++){ x[i]=1.0 * rand() / (RAND_MAX / 2) - 1; y[i]=1.0 * rand() / (RAND_MAX / 2) - 1; double modulo=sqrt(pow(x[i],2)+pow(x[i],2));//pitgoras para el radio vector if(modulo<=1) c++; } pi=4.0*c/n; cout<<"El valor de pi es igual a: "<<pi<<endl; getch(); }

PROBLEMA 4 OBTENCIN DE LA MEDIANA #include <iostream.h> #include <stdlib.h> #include <conio.h> void main(){ int n, a[1000]; double me; cout<<"Ingrese nro de terminos: "; cin>>n; for(int i=1;i<=n;i++){//generacin de trminos a[i]= rand()%(10)+1; cout<<a[i]<<" "; } for(i=1; i<=n; i++){//ordenamiento para hallar mediana, el ordenamiento no se muestra for(int j=i+1; j<=n; j++){ if(a[i]>a[j]){ int temp=a[i]; a[i]=a[j]; a[j]=temp; } } } if(n%2==0)//para una cantidad par me=(a[n/2]+a[n/2+1])*1.0/2; else//para una cantidad impar me=a[(n+1)/2]; cout<<endl; cout<<"La mediana es: "<<me<<endl; getch(); }