Determinazione del resto
È possibile calcolare il resto di due valori dati semplicemente con addizione, sottrazione, moltiplicazione e divisione? Esiste un algoritmo o una formula se è possibile?
Ad esempio, supponiamo di avere due valori: 100e 30. Se dividiamo 100per 30, otteniamo 3.333.... Ma c'è un modo per raggiungere 0.333...(senza sapere dall'inizio quanti interi sono inclusi)?
Per illustrare ulteriormente ciò che intendo, e attenersi all'esempio sopra, un modo per trovare il resto sarebbe la seguente formula: 100 / 30 / 10 * 30 = 0.333...MA questo ovviamente non funziona per due numeri dati.
Alcuni altri esempi (I valori tra parentesi sono i valori che sto cercando):
100 / 40 = 2.5 (0.5) 450 / 50 = 9 (0) 11 / 4 = 2.75 (75)
Scusa, se questa domanda non è chiara. Si basa su una sfida di programmazione che ho incontrato. Voglio usare solo CSS per calcolare il resto dell'altezza della riga di un testo, dato uno specifico offset verticale del testo. Ad esempio, l'altezza della finestra potrebbe essere 100, mentre l'altezza della linea sarebbe 30. Ma i CSS non hanno alcuna funzione per determinare facilmente il resto e non posso usare cicli o ricorsione (cioè 100 - 30 - 30 - 30 - 30 < 0), né condizionale (cioè se N< 0, fai ...).
La mia matematica è orribile. Ma mi chiedo se sia matematicamente possibile o no?
Risposte
Non so se sia possibile creare il "resto nella divisione integrale" in CSS usando in qualche modo "pensare fuori dagli schemi", ma matematicamente non può essere fatto usando solo addizione, sottrazione, moltiplicazione e divisione .
Vale a dire, una funzione $f(x,y)$composta da addizione, sottrazione, moltiplicazione e divisione è una funzione razionale (un quoziente di due polinomi reali in due variabili$x$ e $y$).
Supponiamo ora $\text{remainder}(x,y)=\frac{P(x,y)}{Q(x,y)}$ dove $P$ e $Q$sono polinomi. Fix$y=2$ e poi avremmo $\text{remainder}(x,2)=\frac{P(x,2)}{Q(x,2)}=\frac{p(x)}{q(x)}$ dove $p(x)=P(x,2)$ e $q(x)=Q(x,2)$- polinomi in una variabile. Sapendo che:
$$\frac{p(n)}{q(n)}=0$$
per ogni pari $n$, possiamo concludere che $p=0$(zero polinomio). Tuttavia, questo è quindi incoerente con l'altro requisito, ovvero che:
$$\frac{p(n)}{q(n)}=1$$
per ogni dispari $n$.
Nota : posso vedere le specifiche CSS per$\text{calc}()$dice che, in definitiva, quando il risultato del calcolo CSS viene assegnato a un attributo, può essere arrotondato se tale attributo richiede un numero intero. L'arrotondamento è simile al troncamento ($\text{round}(x)=\text{ceil}(x+0.5)$) e il troncamento può essere utilizzato per la divisione integrale ($\text{remainder}(x, y)=x-y\times\text{ceil}(x/y)$) quindi forse questo può essere tutto messo insieme in qualche modo, ma non saprei come farlo, dato che non sono un esperto di CSS ...
Stai cercando la parte frazionaria di un numero.
Per utilizzarlo, definire una funzione di due variabili che dia un output: $$t=f(x,y)=\frac{x}y-\left\lfloor\frac{x}y\right\rfloor.$$
Utilizzando i tuoi esempi sopra, abbiamo quanto segue: \begin{align} f(100,30)&=\frac{100}{30}-\left\lfloor\frac{100}{30}\right\rfloor=\frac{10}3-3=\frac13\\ f(100,40)&=\frac{100}{40}-\left\lfloor\frac{100}{40}\right\rfloor=\frac52-2=\frac12\\ f(450,50)&=\frac{450}{50}-\left\lfloor\frac{450}{50}\right\rfloor=9-9=0\\ f(11,4)&=\frac{11}{4}-\left\lfloor\frac{11}{4}\right\rfloor=\frac{11}{4}-2=\frac34 \end{align}