funzione floor() e ceil() Python
La funzione floor():
Il metodo floor() in Python restituisce il piano di x, ovvero il numero intero più grande non maggiore di x.
Syntax: import math math.floor(x) Parameter: x-numeric expression. Returns: largest integer not greater than x.
Di seguito è riportata l'implementazione Python del metodo floor():
Pitone
# Python program to demonstrate the use of floor() method> # This will import math module> import> math> # prints the ceil using floor() method> print> 'math.floor(-23.11) : '> , math.floor(> -> 23.11> )> print> 'math.floor(300.16) : '> , math.floor(> 300.16> )> print> 'math.floor(300.72) : '> , math.floor(> 300.72> )> |
Produzione:
math.floor(-23.11) : -24.0 math.floor(300.16) : 300.0 math.floor(300.72) : 300.0
La funzione ceil():
Il metodo ceil(x) in Python restituisce un valore massimo di x, ovvero il più piccolo intero maggiore o uguale a x.
Syntax: import math math.ceil(x) Parameter: x:This is a numeric expression. Returns: Smallest integer not less than x.
Di seguito è riportata l'implementazione Python del metodo ceil():
Pitone
# Python program to demonstrate the use of ceil() method> # This will import math module> import> math> # prints the ceil using ceil() method> print> 'math.ceil(-23.11) : '> , math.ceil(> -> 23.11> )> print> 'math.ceil(300.16) : '> , math.ceil(> 300.16> )> print> 'math.ceil(300.72) : '> , math.ceil(> 300.72> )> |
Produzione:
math.ceil(-23.11) : -23.0 math.ceil(300.16) : 301.0 math.ceil(300.72) : 301.0
Utilizzando la divisione e l'addizione di numeri interi:
In questo approccio, x // 1 viene utilizzato per ottenere la parte intera di x, che equivale a math.floor(x). Per ottenere il tetto di x, aggiungiamo 1 alla parte intera di x.
Python3
x> => 4.5> # Round x down to the nearest integer> rounded_down> => x> /> /> 1> print> (rounded_down)> # Output: 4> # Round x up to the nearest integer> rounded_up> => x> /> /> 1> +> 1> print> (rounded_up)> # Output: 5> |
Produzione
4.0 5.0
Approccio:
Il codice accetta un numero float x e utilizza la divisione floor per arrotondarlo all'intero più vicino. Quindi stampa il risultato. Quindi utilizza la divisione e l'addizione minima per arrotondare x per eccesso al numero intero più vicino e stampa il risultato.
Complessità temporale:
La complessità temporale della funzione round() è costante, il che significa che anche la complessità temporale del codice alternativo è costante. Anche la complessità temporale del codice originale è costante, poiché utilizza solo poche semplici operazioni aritmetiche.
Complessità spaziale:
La complessità spaziale sia del codice originale che di quello alternativo è costante, poiché entrambi utilizzano solo poche variabili per memorizzare l'input e il risultato.