venerdì 20 gennaio 2012

Individuare i numeri primi in una sequenza di numeri che si chiude con 0 (Java)

Analisi dei dati:

INPUT:
A - numero della sequenza
ELABORAZIONE:
div - divisore (val iniziale 2, val. finale A-1)
C - contatore (val iniziale 0)
risp - indica de il numero è primo o no
OUTPUT:
C - quantità di numeri primi nella sequenza
 Esercizio:
import IO.*;

 class numero_primo {
  public static void main(String[] args) {

   Input pc = new Input();

  int A, div, C;
  String risp;

  C = 0;

  do
  {
    System.out.print("Comunica il numero da analizzare: ");
    A = pc.leggiInt();
    while (A<0)
    {
     System.out.print("Comunica il numero da analizzare: ");
     A = pc.leggiInt();
    }

    risp = "primo";
   div = 2;

    while (div<A)
    {
     if (A%div==0)
     {
      risp = "non primo";
      div = A;
     }
     else
     {
      risp = "primo";
     }

     div = div+1;
    }

   if (A==0)
   {
    risp = "non primo";
   }
   //Usiamo questa selezione ad una via per escludere lo 0 dai numeri primi

   if (risp.compareTo("primo")==0)
   {
    C = C+1;
   }

  }
  while (A!=0);

  System.out.println("Ho individuato "+C+" numeri primi nella sequenza");

  }
 }
_____________________________________

Nessun commento: