È possibile calcolare un massimale (ad esempio ceil(2.12) = 3
) con solo poche operazioni aritmetiche disponibili: * - + /
I.e. senza casting e altri trucchi del software, utilizzando solo gli operatori divisione/mul/sub/addizione e confronto?Funzione Ceil utilizzando un numero limitato di operatori aritmetici
Chiarimenti:
- La complessità è importante, ma sarò lieto di sentire alcuna soluzione.
- Modulo non disponibile.
- I valori sono positivi.
- Le operazioni non sono arrotondate.
- Con trucchi software che significava mod, manipolazioni livello di bit, ecc
Fondamentalmente ho un sistema che permette di assegnare le espressioni di variabili in cui espressione può contenere solo il sopra 4 operazione aritmetica, i confronti, e loop. Per esempio.
var x = if (A * (1.434 + 0,4325))> 54,4534) quindi il 45,6 altro allora 43,435
e vorrei fare
var x = CEIL (...)
E 'una divisione di arrotondamento? –
Puoi essere più specifico di cosa intendi con i trucchi del software? Oppure, ad esempio, qual è il tipo di dati in cui è memorizzato o qual è l'input e l'output delle suddette operazioni (+ - * /) – Techmonk
È disponibile l'operatore modulo? –