Uso di cicli per esaminare sequenze

Esaminare il programma SommaSequenza.java, che accetta in input una sequenza di numeri interi terminata dal valore 0 (che non deve essere considerato parte della sequenza), e calcola la somma dei valori esaminati.

Modificare il programma in modo da ottenere, uno alla volta, i seguenti obiettivi:

Il programma deve funzionare correttamente anche in presenza di sequenze che contengono solo valori negativi (il massimo nella sequenza -7, -3, -4 è il valore -3).
Per la ricerca di minimi e massimi, puo' essere utile sapere che il valore Integer.MAX_VALUE rappresenta il massimo valore positivo rappresentabile in una variabile di tipo int. Il minimo valore (di segno negativo) e' invece Integer.MIN_VALUE

Stampa triangolo

Stampa di un triangolo di asterischi di orientamento e lato variabili. Il programma deve leggere da input un numero, che sarà compreso tra 1 e 4, che indica l'orientamento del triangolo, e poi un numero positivo che indica la dimensione del triangolo da stampare. La stampa sarà ottenuta utilizzando, all'interno di opportuni cicli, istruzioni del tipo

Negli esempi, la dimensione dei triangoli e' pari a 4. Si consiglia di inziare a risolvere il caso dell'orientamento 1.
orientamento 1
     *
     **
     ***
     ****

orientamento 2
     ****
     ***
     **
     *
     
orientamento 3
     ****
      ***
       **
        *
     
orientamento 4
        *
       **
      ***
     ****

Numeri perfetti

Scrivere un programma che determina se un numero è perfetto.

Un numero naturale n è perfetto se la somma dei suoi divisori (strettamente minori di n, compreso il numero 1) è uguale a n.
Ad esempio, il numero 6 è perfetto poiché 1+2+3 = 6, mentre 20 non è perfetto poiché 1+2+4+5+10 = 22

Il programma deve leggere da tastiera un numero naturale e visualizzare la somma dei suoi divisori. Se la somma è uguale al numero dato deve essere visualizzato il messaggio "il numero è perfetto", altrimenti il messaggio contrario.