Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Sui cicli while

  1. #1

    Sui cicli while

    Questa vola penso di esserci riuscito da solo, il programma sembra funzionare ma vorrei conferma e sopratutto sapere se posso aggiustare qualcosa.

    Un anno e' perfetto per una persona se e' divisibile per la sua eta'. Definire una funzione che ha come parametro un anno e restituire tutti gli anni perfetti nei 100 anni successivi per le persone nate in quel anno.

    codice:
    function perfetto (a){
             var eta = 2006 - a ;                  // eta' della persona
             var anniS = a*1 + 100 ;             // anno sino al quale verificare la condizione
             var anniP = '';                          // stringa in cui visualizzare gli anni perfetti
    		 while (a <= anniS){
    		 if (a % eta == 0 )            // se il resto della divisione e' 0
    		 anniP = anniP + a + ",";    // aggiungo l'anno alla stringa
    		 a++;                 
    				 }
             return anniP ;
    }
    P.s : ho pure un altro dubbietto, ma piu " grafico " che altro. Volevo separare gli anni inseriti nella stringa con una virgola. Facendo nel modo in cui ho fatto io gli anni sono si' separati con una virgola, ma essa viene messa anche dopo l'ultimo anno ( ossia quando dopo non c'è piu niente ). Come posso fare per far si che quando e' l'ultimo anno la virgola non sia inserita ?

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    137
    Ciao vediamo se riusciamo insieme a risolvere il tuo problema della virgola. Utilizza la function sottoriportata ottenuta dalla tua mediante semplici modifiche:
    function perfetto (a){
    var eta = 2006 - a ; // eta' della persona
    var anniS = a*1 + 100 ; // anno sino al quale verificare la condizione
    var anniP = a; // stringa in cui visualizzare gli anni perfetti
    a++;
    while (a <= anniS){
    if (a % eta == 0 ) // se il resto della divisione e' 0
    {
    anniP = anniP + "," + a; // aggiungo l'anno alla stringa
    }
    a++;
    }
    return anniP ;
    }

  3. #3
    Ciauz

    In questo modo pero' la virgola non compare piu alla fine ma all'inizio, nel senso che la sequenza viene visualizzata in questo modo : , x,x,x.

    Io vorrei che la virgola separasse i numeri solamente

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.