Autor Zpráva
hroch
Profil
Zdravím a předem se omlouvám za amatérský dotaz. Mám formulář. Tam jsem spočítal nějaké číslo. Například 2591. Chci najít nejbližší celé číslo v rozsahu x; x-2 dělitelné beze zbytku 3. Toto číslo by se mělo napsat do dalšího pole formuláře. K samotnému výsledku nechci dojít způsobem, že 2591 /3 a výsledek pomocí Math.floor zaokrouhlím dolů. Chtěl bych, aby to číslo 2589 bylo vidět a jelikož po změně vstupních dat formuláře bude toto číslo vždy jiné, aby se tam to číslo vždy napsalo. Jak donutit počítač, aby toto číslo sám našel a napsal? Poprosil bych o něco z JS. Děkuji.
panther
Profil
hroch:
K samotnému výsledku nechci dojít způsobem, že 2591 /3 a výsledek pomocí Math.floor zaokrouhlím dolů
co se ti na tomhle nelíbí?

Jak donutit počítač, aby toto číslo sám našel a napsal?
počítač si sám od sebe nic nespočítá. A jeden z možných postupů (a IMHO ne úplně špatný) jsi zavrhl.
hroch
Profil
Protože v zadání je psáno, že mám najít číslo beze zbytku dělitelné třemi. a s tím pracovat. Důležitý je postup. a ten by měl být vidět.
Chamurappi
Profil
Reaguji na panthera:
co se ti na tomhle nelíbí?
Je to pomalé a hloupé, když si člověk uvědomí, že existuje modulo.


Reaguji na hrocha:
var n = x - x % 3;
panther
Profil
Chamurappi:
pomalé z hlediska práce s Math nebo kvůli tomu, že ten zápis jako takový by byl... takový neohrabaný? Nepředpokládal bych, že prosté základní matematické operace budou některak výkonově náročné (a pomalé).

Jinak samozřejmě modulo je i přehlednější, to uznávám.
hroch
Profil
Pánové, Já vám děkuji. Zítra to odzkouším var n = x - x % 3; a Modulo. Snad si s tím poradím.
karel_
Profil *
(drbání levou na pravém...):
a v neposlední řadě, odkaz na předposlední řadě , například:
http://www.matematika.webz.cz/forum/delitelnost/
hroch
Profil
Chamurappi Díky. Fachčí to spolehlivě.
Chamurappi
Profil
Reaguji na panthera:
Nepředpokládal bych, že prosté základní matematické operace budou některak výkonově náročné
Zaokrouhlení desetinného čísla je pomalejší než základní aritmetika.
Samotné odseknutí desetinných míst je rychlejší přes bitový OR, tedy x|0 — pro nezáporná konečná čísla x vrací totéž, co Math.floor(x).

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0