fork(4) download
  1. /*
  2.  
  3.   ██████╗ ██╗ ██╗ █████╗ ███╗ ██╗████████╗██╗ ██╗███╗ ███╗ ███████╗██████╗ █████╗ ██████╗████████╗██╗ ██╗██████╗ ███████╗
  4.  ██╔═══██╗██║ ██║██╔══██╗████╗ ██║╚══██╔══╝██║ ██║████╗ ████║ ██╔════╝██╔══██╗██╔══██╗██╔════╝╚══██╔══╝██║ ██║██╔══██╗██╔════╝
  5.  ██║ ██║██║ ██║███████║██╔██╗ ██║ ██║ ██║ ██║██╔████╔██║ █████╗ ██████╔╝███████║██║ ██║ ██║ ██║██████╔╝█████╗
  6.  ██║▄▄ ██║██║ ██║██╔══██║██║╚██╗██║ ██║ ██║ ██║██║╚██╔╝██║ ██╔══╝ ██╔══██╗██╔══██║██║ ██║ ██║ ██║██╔══██╗██╔══╝
  7.  ╚██████╔╝╚██████╔╝██║ ██║██║ ╚████║ ██║ ╚██████╔╝██║ ╚═╝ ██║ ██║ ██║ ██║██║ ██║╚██████╗ ██║ ╚██████╔╝██║ ██║███████╗
  8.   ╚══▀▀═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝
  9.  
  10.   PRESENTA
  11.   _____________________________________________________________________________________________
  12.   _ _ _
  13.   ' ) | | _ _ _| _ _ _ ( _ _. _ /| ) _ _.| _ _ \
  14.   ._). |_|_\(_) (_|(/_ |_|| |(_| _)(/_| |(/_ | |_)(_|_\||(/_(_| |
  15.   \ /
  16.  
  17.  Qué pasa chavales, muy buenas a todos, aquí Crespo comentando (xD en serio, willy pls). Con este código, escrito en C++, vamos a hacer
  18.  que este ordenador calcule pi utilizando el método favorito de todo el mundo: el uso de Series... No particularmente la serie que vamos
  19.  a usar, pero cogéis la idea.
  20.  Si quieres saber las ideas básicas de este algoritmo o no sabes como coj***s has llegado aquí y qué es este código
  21.  hablandome así wtf, te recomiendo pasarte por YouTube y verte este vídeo
  22.  --> https://y...content-available-to-author-only...u.be/DQ5qqHukkAc <--.
  23.  
  24.  Si no ves un montón de símbolos raros, te recomiendo que estires el tamaño de tu ventana, te llevarás una sorpresa --->
  25.  
  26.  Vamos allá: como habéis visto, vamos a explotar esto:
  27.  
  28.   _____
  29.   \ 1 pi^2
  30.   / ----- = ------
  31.   /_____ n^2 6
  32.   n
  33.  
  34.  Si no sabes lo que quiere decir el primer símbolo: es un sumatorio. Quiere decir que sumamos todos los términos que contengan una n,
  35.  empezando por el 1 y (en nuestro caso) no terminando nunca. Las series son sumas infinitas de términos... pero si cogemos bastantes
  36.  al menos nos aproximaremos a pi.
  37.  
  38.  Por cierto, si quieres saber como Euler obtuvo este resultado, puedes consulta una demostración aquí
  39.   ----> http://g...content-available-to-author-only...s.com/el-problema-de-basilea/
  40.  Puede que necesites saber algo de Análisis para entenderlo... :P
  41.  
  42.  Si te has paseado por los otros códigos (Polígonos y Montecarlo) te habrás dado cuenta que tales programas aparte de dar un valor
  43.  apróximado de pi, dan también el error que cometemos; dan el rango en el que el valor real de pi está. Bien, en este caso no he
  44.  sabido programar unas cotas. Cuando se ejecuta la suma infinita se llega al valor de pi, pero si no sumas infinitos términos siempre
  45.  estarás POR DEBAJO de tal cifra. Hubiera sido genial encontrar una cota superior que también convergiera a pi para N muy grande, pero
  46.  no la he encontrado. Si eres un matemático muy listo y sabes como hacerlo, hazmelo saber; no tanto por corregir el código, si no por
  47.  curiosidad (--> qfracture@gmail.com)
  48.  
  49.  Así he nombrado cada variable:
  50.  
  51.   * N : el número de términos que vamos a sumar.
  52.   * S : es la suma de los N términos.
  53.   * pi : valor de pi obtenido multiplicando la suma por 6 y haciendo la raiz cuadrada (tal y como indica la serie).
  54.  
  55.  */
  56.  
  57.  
  58. #include <iostream> // Cargo librerías (colecciones de funciones ya hechas que hacen cositas): "iostream" me permite sacar texto
  59. #include <cmath> // y números por el terminal, para que puedas ver el valor de pi, y "cmath" es una colección de funciones
  60. #include <fstream> // matemáticas que necesito, como elevar al cuadrado y hacer la raiz cuadrada.
  61.  
  62. using namespace std; // A efectos práticos, esto es para no tener que poner "std" todo el rato.
  63.  
  64. int main(){ // ¡Comenzamos!
  65.  
  66. // Imprimimos en el terminal... la bienvenida ;)
  67.  
  68. cout<<endl<<endl;
  69. cout<<" ╔═╗ ┬ ┬┌─┐┌┐┌┌┬┐┬ ┬┌┬┐ ╔═╗┬─┐┌─┐┌─┐┌┬┐┬ ┬┬─┐┌─┐"<<endl;
  70. cout<<" ║═╬╗│ │├─┤│││ │ │ ││││ ╠╣ ├┬┘├─┤│ │ │ │├┬┘├┤"<<endl;
  71. cout<<" ╚═╝╚└─┘┴ ┴┘└┘ ┴ └─┘┴ ┴ ╚ ┴└─┴ ┴└─┘ ┴ └─┘┴└─└─┘"<<endl;
  72. cout<<" ______________________________________________________________________ "<<endl<<endl;
  73. cout<<" PRESENTA... "<<endl;
  74. cout<<endl;
  75. cout<<" ╔═╗┌─┐┬ ┌─┐┬ ┬┬ ┌─┐ ┌┬┐┌─┐ ╔═╗┬ ╔═╗┌─┐┬─┐┬┌─┐┌─┐"<<endl;
  76. cout<<" ║ ├─┤│ │ │ ││ │ │ ││├┤ ╠═╝│ ─── ╚═╗├┤ ├┬┘│├┤ └─┐"<<endl;
  77. cout<<" ╚═╝┴ ┴┴─┘└─┘└─┘┴─┘└─┘ ─┴┘└─┘ ╩ ┴ ╚═╝└─┘┴└─┴└─┘└─┘"<<endl;
  78.  
  79. cout<<endl<<" Sumas infinitas... ¡Al alcance de tu propio dispositivo!"<<endl<<endl;
  80.  
  81. cout<<"_____________________________________________________________________________________________"<<endl<<endl;
  82. cout<<" ADVERTENCIA "<<endl;
  83. cout<<"Si está usando este código en un compilador online, puede ser que utilizar un número excesivo"<<endl;
  84. cout<<" de términos haga que el cálculo necesite tanto tiempo para ser computado que el compilador lo"<<endl;
  85. cout<<" aborte automáticamente. En ese caso, pruebe un número menor."<<endl;
  86.  
  87. //////////////////////////////////////////////////////////////////////////////////////////////////////////////
  88. //////////////////////////////////////////////////////////////////////////////////////////////////////////////
  89. //////////////////////////////////////////////////////////////////////////////////////////////////////////////
  90.  
  91. double N = 1 // NÚMERO DE TÉRMINOS A SUMAR. ¡CAMBIAD ESTO!
  92.  
  93. //////////////////////////////////////////////////////////////////////////////////////////////////////////////
  94. //////////////////////////////////////////////////////////////////////////////////////////////////////////////
  95. //////////////////////////////////////////////////////////////////////////////////////////////////////////////
  96.  
  97. // Se introduce tal número por terminal:
  98.  
  99. cout<<endl<<" ╔═════════════════════════════════════════════════════════════════════════════════════════════╗";
  100. cout<<endl<<" ║ Número de términos que quierer sumar : "<<N;
  101. cout<<endl<<" ╚═════════════════════════════════════════════════════════════════════════════════════════════╝";
  102.  
  103. double S=0; // Defino la suma total de los términos y la inicializo a 0.
  104.  
  105. for (int i=0; i<N; i++) { // Bucle, recorre todo los naturales hasta N.
  106. S=S+ 1/pow(i+1,2); // En cada vuelta se añade a S el siguiente término.
  107. }
  108.  
  109. double pi=sqrt(6*S); // Se calcula pi.
  110.  
  111.  
  112. cout.precision(15); // Estos son el número de digitos que quiero que se expulsen por pantalla. Puedes aumentarlo si quieres.
  113.  
  114. // Sacamos los resultados por pantalla para disfrute del usuario:
  115.  
  116. cout<<endl<<" ╔════════════════════════════════════════════════════════════════════════════════════════╗";
  117. cout<<endl<<" ║ "<<"Pi = "<<pi;
  118. cout<<endl<<" ║";
  119. cout<<endl<<" ║ "<<"El valor real de pi se encuentra algo más arriba";
  120. cout<<endl<<" ╚════════════════════════════════════════════════════════════════════════════════════════╝"<<endl<<endl;
  121.  
  122.  
  123. return 0; // Y hemos terminado. Cerramos el chiringuito.
  124.  
  125. }
  126.  
  127.  
  128.  
  129.  
  130.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:99:5: error: expected ‘,’ or ‘;’ before ‘cout’
     cout<<endl<<"  ╔═════════════════════════════════════════════════════════════════════════════════════════════╗";
     ^~~~
stdout
Standard output is empty