Advertisement
AntonioVillanueva

Calculo serie armonica no aparece d

Aug 25th, 2023
1,237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.17 KB | None | 0 0
  1. /*
  2.  * Antonio Villanueva Segura
  3.  * Suma mas grande de series armonicas entre S0 y S9
  4.  * donde d en Sd no aparezca en ningun momento de la serie armonica
  5.  */
  6. #include <stdio.h>
  7.  
  8. int containsDigit(int number, int digit) {
  9.     while (number > 0) {
  10.         if (number % 10 == digit) {
  11.             return 1;
  12.         }
  13.         number /= 10;
  14.     }
  15.     return 0;
  16. }
  17.  
  18. double serieArmonicaSinD(int d,int max,int debug) {
  19.     double sum = 0.0;
  20.     int n = 1;
  21.    
  22.     if (debug) { printf ("S%d = {",d);}
  23.     while (n<max) {
  24.         if (!containsDigit(n, d)) {
  25.              if (debug) { printf ("1/%d + ",n);}
  26.             sum += 1.0 / n;
  27.         }
  28.         n++;
  29.     }
  30.    
  31.     if (debug) { printf("} \n");}
  32.     return sum;
  33. }
  34.  
  35.  
  36. int main() {
  37.     int debug=1 ;//1 para graficar la serie
  38.     int valores=35;//Numeros de valores a calcular 35 ejemplo
  39.     int serie=0;//Serie mas grande Sserie
  40.     double mayor;//Resultado de la suma mayor
  41.    
  42.    
  43.     for (int s=0 ;s<10;s++){
  44.         double sum = serieArmonicaSinD(s,valores,debug);
  45.         printf("S%d= %lf\n" ,s,sum);
  46.        
  47.         if (mayor <sum){
  48.             serie=s;
  49.             mayor=sum;
  50.         }
  51.     }
  52.    
  53.     printf ("Suma mas grande S%d= %lf \n",serie,mayor);
  54.    
  55.     return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement