8 de abril de 2011

Programación básica: Quiz 2 de 3

  1. Escriba un programa en Java que lea un número entero N y calcule el resultado de la siguiente serie : 1-1/2+1/3-1/4+1/5-1/6+... 1/N
  2. Se definen los números triangulares como los obtenidos de sumar los números naturales sucesivos 1, 2, 3, ...; es decir, los primeros números triangulares son 1, 3, 6, 10, .... Elaborar un programa en Java para imprimir los N primeros números triangulares.
  3. Dado un número entero, N, si la suma de sus divisores (sin contar a si mismo) es igual a N se dice que ese número es perfecto. Si la suma es inferior, se dice que es deficiente, y si es superior se dice que es abundante. Por ejemplo:
    6 tiene como divisores 1,2,3: Su suma es 6, por lo tanto es perfecto.
    8 tiene como divisores 1,2,4: Su suma es 7, por lo tanto es deficiente.
    24 tiene como divisores 1,2,3,4,6,8,12: Su suma es 36, por lo tanto es abundante.

    Escribir un programa que reciba una serie de números y devuelva un valor que clasifique cada número como perfecto, deficiente o abundante. Además el programa debe imprimir cuantos de cada número encontro y terminar cuando el número leído sea negativo.


Ver solución:


        int n;
       
        n=Integer.parseInt(JOptionPane.showInputDialog("Valor de N"));
       
          /* Escriba un programa en Java que lea un número entero N
         * y calcule el resultado de la siguiente serie:
         * 1-1/2+1/3-1/4+1/5-1/6+... 1/N
         */
        float resp=0;
        for (int i=1; i<=n; i++) {
            resp=resp + (float)((1.0/i) *  Math.pow(-1,(i+1)));
        }
        JOptionPane.showMessageDialog(null,"El valor de la serie es " + resp);
        /* Se definen los números triangulares como los obtenidos de sumar
         * los números naturales sucesivos 1, 2, 3, ...; es decir,
         * los primeros números triangulares son 1, 3, 6, 10, ....
         * Elaborar un programa en Java para imprimir los N primeros números triangulares.
         */
        int st=0;
        for (int i=1; i<=n; i++) {
            st=0;
            for (int j=1; j<=i; j++) {
                st=st+j;
            }
            JOptionPane.showMessageDialog(null,"El " + i + " número triangular es " + st);
        }
        /* Dado un número entero, N, si la suma de sus divisores
         * (sin contar a si mismo) es igual a N se dice que ese número es perfecto.
         * Si la suma es inferior, se dice que es deficiente, y si es superior
         * se dice que es abundante. Por ejemplo:
         * 6 tiene como divisores 1,2,3: Su suma es 6, por lo tanto es perfecto.
         * 8 tiene como divisores 1,2,4: Su suma es 7, por lo tanto es deficiente.
         * 24 tiene como divisores 1,2,3,4,6,8,12: Su suma es 36, por lo tanto es abundante.
         * Escribir un programa que reciba una serie de números y devuelva un valor
         * que clasifique cada número como perfecto, deficiente o abundante.
         * Además el programa debe imprimir cuantos de cada número encontro
         * y terminar cuando el número leído sea negativo
         */
        int x, r, sd, cp=0, cd=0, ca=0;
        x=Integer.parseInt(JOptionPane.showInputDialog("Valor de X"));
        while (x>=0) {
            sd=0;
            for (int i=1; i<=(x/2); i++) {
                r=x%i;
                if (r==0)
                    sd=sd+i;
            }
            if (sd==x) {
               JOptionPane.showMessageDialog(null, "El " + x + " es perfecto");
               cp=cp+1;
              }
            else
                if (sd<x) {
                    JOptionPane.showMessageDialog(null,"El " + x + " es deficiente");
                    cd=cd+1;
                    }
                else {
                  JOptionPane.showMessageDialog(null, "El " + x + " es abundante");
                  ca=ca+1;
                  }
            x=Integer.parseInt(JOptionPane.showInputDialog("Valor de X"));
        }

No hay comentarios:

Publicar un comentario

En este espacio los comentarios son moderados con el fin de que si son dudas presentadas el proceder a su aclaración y también de ese modo verificar la información que se publique en el blog.

Nota: solo los miembros de este blog pueden publicar comentarios.