Esercizio C# in console che, una volta dati i mattoni in ingresso, ritorna il numero dei piani realizzabili e i mattoni avanzati.
Funzione per il calcolo dei piani
public static int Piani( int mattoni )
{Dichiariamo la funzione dove andremo ad inserire le istruzioni per il calcolo dei piani, passandole come parametro i mattoni disponibili.
Controllo del numero dei mattoni
if(mattoni<=0){
return 0;
}Controlliamo che i mattoni siano maggiori di 0, in caso contrario restituiamo immediatamente 0 al programma, in quanto non sono costruibili piani senza mattoni.
Creazione variabili utili
int risultato=0;
int counterFloors=0;
int counterBlocks=1;Creiamo le variabili che ci serviranno in seguito : la prima per contenere l'area di un piano, la seconda per contenere la quantità di piani costruibili e la terza per avere a disposizione la lunghezza del lato del piano corrente.
Calcolo dei piani
for(counterFloors=0;mattoni>0;counterFloors++){
risultato = counterBlocks*counterBlocks;
mattoni-=risultato;
counterBlocks+=2;
}
if(mattoni<0){
counterFloors--;
}
return counterFloors;
}Tramite for calcoliamo in counterFloors i piani che riusciremo a costruire : calcoliamo dentro risultato l'area del piano, per poi sottrarla al numero totale di mattoni disponibili, aumentiamo in fine il lato di 2. L'if successivo serve in caso i mattoni vadano in negativo : togliamo un piano, dato che l'ultimo piano non siamo chiaramenti riusciti a costruirlo avendo ottenuto un numero di mattoni negativo. Restituiamo poi la variabile e chiudiamo la funzione.
Funzione per il calcolo dei mattoni rimanenti
public static int Rimanenti( int mattoni )
{Dichiariamo la funzione dove andremo ad inserire le istruzioni per il calcolo dei mattoni rimanenti, passandole come parametro i mattoni disponibili.
Dichiarazione variabili utili
int piani=Piani(mattoni);
int restoMattoni=mattoni;
int num=1;Creiamo le variabili che ci serviranno in seguito : la prima conterrà il numero di piani costruibili calcolato tramite la funzione Piani, la seconda alla fine del programma conterrà i mattoni rimanenti mentre la terza servirà per contenere la lunghezza del lato del piano corrente.
Calcolo dei mattoni rimasti
for(int i=0;i<piani;i++){
restoMattoni-=num*num;
num+=2;
}
return restoMattoni;
}Tramite for calcoliamo quanti mattoni ci resteranno dopo aver costruito la piramide : otteniamo l'area del piano corrente per poi sottrarla al numero di mattoni disponibili, inseriamo poi questo dato nella variabile restoMattoni. Restituiamo poi la variabile e chiudiamo la funzione.