quarta-feira, 1 de março de 2017

Divisores de um número em array

Exceto os números primos, todos os demais
possuem múltiplos e divisores.
Um número é divisor de outro quando o resto
da divisão for igual a 0. Portanto,
12 é divisível por 1, 2, 3, 4, 6 e 12.
36 é divisível por 1, 2, 3, 4, 6, 9, 12, 18 e 36.
48 é divisível por 1, 2, 3, 4, 6, 8, 12, 24 e 48.
Observações importantes:
1 - O menor divisor natural de um número é sempre o número 1.
2 - O maior divisor de um número é o próprio número.
3 - O zero não é divisor de nenhum número.
4 - Os divisores de um número formam um conjunto finito.
Alguns números têm apenas dois divisores: o 1 e ele mesmo.
Esses números são chamados de primos.
Mais informações sobre o assunto acesse o seguinte link abaixo:
De posse destas informações ficou fácil criar este programa
e colocá-lo como seu , desde que você o tenha para estudos.

Veja abaixo uma  imagem do programa em execução:


Veja abaixo o código do programa:



import java.util.Random;
import java.util.Scanner;

public class PROJETO {
     public static int  tam  = 100;

     public static void imprime ( int vet [ ] ) {
         J jht = new J ( );
         int a = 0, i, temp, y, result = 0;
         // /////////////////////////////
         for ( i = 1; i <= tam; i++ ) {
              vet [ a ] = i;
              a++;
         }
         Random random = new Random ( );
         for ( a = 0; a < tam; a++ ) {
              y = random.nextInt ( tam );
              temp = vet [ a ];
              vet [ a ] = vet [ y ];
              vet [ y ] = temp;
         }
         jht.textcolor ( jht.BLACK );
         for ( i = 0; i < vet.length; i++ ) {
              if ( i == 0 )
                   jht.gotoxy ( ( int ) 21, ( int ) 6 );
              if ( i == 10 )
                   jht.gotoxy ( ( int ) 21, ( int ) 7 );
              if ( i == 20 )
                   jht.gotoxy ( ( int ) 21, ( int ) 8 );
              if ( i == 30 )
                   jht.gotoxy ( ( int ) 21, ( int ) 9 );
              if ( i == 40 )
                   jht.gotoxy ( ( int ) 21, ( int ) 10 );
              if ( i == 50 )
                   jht.gotoxy ( ( int ) 21, ( int ) 11 );
              if ( i == 60 )
                   jht.gotoxy ( ( int ) 21, ( int ) 12 );
              if ( i == 70 )
                   jht.gotoxy ( ( int ) 21, ( int ) 13 );
              if ( i == 80 )
                   jht.gotoxy ( ( int ) 21, ( int ) 14 );
              if ( i == 90 )
                   jht.gotoxy ( ( int ) 21, ( int ) 15 );
              System.out.print ( " " );
              System.out.printf ( "%3d", vet [ i ] );
              result += vet [ i ];
         }
         // /////////////////////////////////////////////////
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 22, ( int ) 17 );
         jht.Sleep ( ( short ) 500 );
         System.out.printf ( "Total de números gerados ==> " );
         jht.textcolor ( jht.LIGHTRED );
         System.out.printf ( "%d", i );
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 22, ( int ) 18 );
         jht.Sleep ( ( short ) 500 );
         System.out.printf ( "Soma dos números gerados ==> " );
         jht.textcolor ( jht.LIGHTRED );
         System.out.printf ( "%d", result );
         jht.Sleep ( ( short ) 500 );
     }
     ///////////////////////////////////////////////////
     public static void main ( String args [ ] ) {
     int vet [ ] = new int [ tam ];
     int i;
     J jht = new J ( );
     jht.textbackground ( jht.WHITE );
     jht.Moldura ( ( short ) 1, ( short ) 30, ( short ) 2, ( short ) 78 );
         jht.title ( " " );
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( int ) 28, ( int ) 2 );
         System.out.printf ( "DIVISORES DE NÚMEROS EM ARRAY" );
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 28, ( int ) 4 );
         System.out.printf ( "Abaixo os ");
         jht.textcolor ( jht.LIGHTRED );
         System.out.printf ( "100 ");
         jht.textcolor ( jht.LIGHTBLUE );
         System.out.printf ( "números gerados" );
         jht.textcolor ( jht.BLACK );
         imprime ( vet );
         int j = 0;
         //////////////////////////////////////////////////////////////////
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 22, ( int ) 20 );
         System.out.printf ( "Digite um número entre ");
         jht.textcolor ( jht.LIGHTRED );
         System.out.printf ( "2");
          jht.textcolor ( jht.LIGHTBLUE );
         System.out.printf ( " e");
         jht.textcolor ( jht.LIGHTRED );
         System.out.printf ( " 100 ");
         jht.textcolor ( jht.BLACK );
         Scanner sc = new Scanner ( System.in );
         j = sc.nextInt ( );
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 22, ( int ) 22 );
         System.out.printf ( "Abaixo seus divisores no array " );
         jht.gotoxy ( ( int ) 22, ( int ) 24 );
         jht.textcolor ( jht.BLACK );
         for ( i = 1; i <= j ; i++ ) {
             if ( j % i == 0 )
               System.out.printf ( " %3d" , i );
         }
         //////////////////////////////////////////////////////////////////
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 22, ( int ) 26 );
         jht.Sleep ( ( short ) 1800 );
         System.out.printf ( "Por: " );
         jht.textcolor ( jht.LIGHTMAGENTA );
         System.out.printf ( "Samuel Lima" );
         jht.textcolor ( jht.BLACK );
         jht.gotoxy ( ( int ) 22, ( int ) 27 );
         System.out.printf ( "sa_sp10@hotmail.com" );
         jht.Sleep ( ( short ) 1800 );
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( int ) 34, ( int ) 29 );
         System.out.printf ( "MUITO OBRIGADO" );
         jht.getche ( );
     }
}

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.