Здравейте,
искам да попитам как се принтира “закръгляне до най-близко цяло число”, както и как се принтира “повдигане на степен”?
Здравей.
Разгледай Math.
По-конкретно:
Ако имаш въпроси, пиши.
Самото принтиране тук https://judge.telerikacademy.com/ става с print();
Благодаря,
Благодаря! Разгледах ги, но в самият синтаксис бъркам някъде. Връща ми отговор “IR”…
https://pastebin.com/bnB4RTdR
Когато използваш вградени built-in обекти на езика, те винаги започват с главна буква. Тоест Math.round и math.round са напълно различни неща и от там идва грешката, погледни линка от долу и ще видиш разликите вляво е твоя код, вдясно е оправения код.
Също така, в задачата не се изисква закръгляне до най-близкото число, а се изисква да го закръглиш до най-ниското такова. Ако имаш някакво число ,например 4.6, и използваш Math.round(4.6) ще ти го закръгли до най-близкото цяло число, което е 5. Това, от което имаш нужда е Math.floor() метода и ще ти закръгли числото до най-ниското такова.
Здравей,
никаква идея нямам как да реша последната задача от уъркшоп-а- “Sum Digits”.
Как се взимат отделните числа, за да ги събера след това?
Здравей.
Можеш да вземеш последната цифра на дадено число с % оператора.
Например number = 123;
print(number % 10); // 3
Здравей,
условието е да се чете 4-цифрено число, след което да се съберат отделните цифри, напр.:
1234 = 1+2+3+4…и не знам как се взимат отделните цифри, за да ги събера.
Привет,
Колегата по-горе ти е дал доста добър hint.
Разгледай по-подробно оператора за модулно деление (%).
При модулно делене на 10, резултатът е последната цифра от дадено число.
1234 % 10 = 4
123 % 10 = 3
12 % 10 = 2
1 % 10 = 1
След като си вземеш последната цифра, помисли как с деление и закръгляне можеш да върнеш числото без нея. (т.е. от 1234, как би могъл да вземеш 123).
Успех.
Привет,
ето това е условието на задачата:
Write a program that reads a four-digit number and displays the sum of its digits
- 1213 = 1 + 2 + 1 + 3 = 7
- 2346 = 2 + 3 + 4 + 6 = 15
Не знам синтаксисът, за да го направя
Привет,
Условието на задачата е ясно.
- С
+gets()
си вземаш числото и си го запазваш в променлива, примерноnumber
. - След това по начина, по който ти описах по-горе си вземаш последната цифра и си я запазваш в променлива, примерно
fourthDigit
. Цък. - След това помисли как да “премахнеш” тази последна цифра от
number
- с деление на кое число -xx
и закръгляне. Разгледай методитеMath.floor()
,Math.round()
иMath.ceil()
и избери най-подходящия. (пример:number = Math.floor/round/ceil(number / xx)
) - След като
number
е вече трицифрено число повтаряш стъпка 2 и 3 докато си вземешthirdDigit
,secondDigit
иfirstDigit
. - Събираш тези цифри и запаметяваш резултата в променлива, примерно
sum
. - С
print()
изкарвашsum
.
Благодаря ти много!
Здравейте Колеги,
така и не успях да разбера логиката с деленето, но направих задачата с функция и parseInt метода на индексите.
Оператора %, придружен с една десятка “10”, на жаргон “процентно делене”, ти маха последната цифра, например:
ако разделиш 123%10, ще получиш последната цифра - в случая 3, и ще ти хартиса 12,
после ако повториш 12%10, ще вземеш 2, ще остане 1
Ако направиш а=123;
а%10 можеш да го извършиш а.length-1 пъти, т.е. 2 пъти за 3-цифрено число
Сега по-голяма каша ли е
Правя задачата във VSCode и всичко е точно, но когато я постна в системата, ми дава 20 точки и грешен отговор. Къде греша ? https://pastebin.com/LLS0Kcuh
на всякъде, където ти е input трябва да ти е inputOne, в judge нямаш такова нещо като input и там задачата ти забива.
Алтернативно, ако някой го измъчва модулното делене, винаги може да ползвате String.charAt()
let entryData = gets();
let firstDigit = Number( entryData.charAt(0) )
etc…
Вече поправих задачата, но забравих да си махна коментара. Благодаря все пак.