Loading...
svetoslav_0 avatar svetoslav_0 1009 Точки

Опитай самостоятелно да я решиш, или поне дай частично решение и питай конкретен въпрос. Мога да ти дам решението, но не мисля, че ще разбереш как се решава задачата по-добре, отколкото ако си я решиш самостоятелно (поне частично както казах..). Ако все пак имаш въпрос по нея, питай :))

0
svetoslav_0 avatar svetoslav_0 1009 Точки

Този код ми изглежда работещ..

0
denitsadudinska avatar denitsadudinska 0 Точки

Здравейте,

Може ли да обясните решението. Благодаря предварително.

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

Tака незнам условието но мога да ви обесня кода. Дават ви една променлива число n на чиято база трябва да изчислите  3 променливи rev rev1 rev2 .

Toва което прави вашия колега е чете числото n. Обявява си трите променливи rev rev1 rev2. След това правейки съответните действия според заданието изчислява стойностите на rev rev1 rev2 и ги присвоява.В случая като гледам това са делене събиране и модулно делене,като променливата r е за пазене на стойности.

След това вероятно трябва да направите някакви математически преобразования и числа с числата и техните възможни стойности.Затова прави 3 цикъла като 2 от тях са вложени. Предполагам че това е задача 5 от  басик изпит. Какво се случва в циклите.

aко приемем че rev= 5 rev1=8 rev2=11

първия цикъл на rev ще започне от 1. За тази единица в rev. Вложения цикъл на rev1 ще завърти всички стойности от 1-8 тоест ще се завърти 8 пъти и обходи всички възможности. А rev2 по същата логика ще се завърти 11 пъти за rev и 8х11 88 пъти за rev2. Това може би звучи объркващо но вложените цикли работят така.извъртяват всичките си стойности и тогава свършват. И всички тези операции ще се повторят докато  в цикъла на rev най-външния  i=rev=5 тогава всичко ще приключи.А console.writeline в най-вътрешния цикъл просто печата резултата от всички комбинации които се получават като колегата е комбинирал комбинациите от числа и операциите с тях според зададените ви условия.

Моя съвет е свалете си кода закачете го на VS пуснете дебъгера с f5 и няколко бреак поинта и следете как се променят променливите...и без това дебъгването е важно умение,колкото по-скоро го усвойте и развиете ще ви помогне.

0
12/01/2018 15:00:04
denitsadudinska avatar denitsadudinska 0 Точки

Здравейте,

Благодаря много за детайлния отговор. 

Това и условието.

https://judge.softuni.bg/Contests/Practice/Index/888#5

На мен не ми е ясна тази част от условието на задачата.

 

  •   int r = left % 10;

                rev = rev + r;

                left = left / 10;

 

                r = left % 10;

                rev1 = rev1 + r;

                left = left / 10;

                r = left % 10;

                rev2 = rev2 + r;

 

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

така ясно. Значи дават ви трицифрено число :Д  да използваме едно от примера

324 и ви казват почнете да го обработвате от дясно наляво тоест 4 2 3 и направете нещо с тях.

така човека взима първото число което е 4 което делено модулно на 10 си е 4 и получава първото число

след това дели  324 / 10 за да му остане 32 и отново повтаря цялата операция и му остава 2 за rev2,и след това отново дели на /10 за да му остане 3. и него го присвоява в rev3

вече има 3те числа 4 2 3, и си прави циклите от i до 4 от и до 2 и от i до 3

и после- по логиката която обясних по-горе,завърта циклите външния му е до 4 втория до 2 и наи-вътрешния до 3

и накрая печата всичките им пермутации. когато външния цикъл стигне до 4. Всичко свършва.

0
14/01/2018 20:49:40
Angelovasilviya avatar Angelovasilviya 3 Точки

Ето моето решение. В Javascript е, но всичко е много подобно и се разбира.

https://pastebin.com/AkQEDpKc

0
bg_bundy avatar bg_bundy 1 Точки

Ето го решението написано  на  JAVA

 

https://pastebin.com/gc59muHX

 

Коментарите са за обяснение на синтаксиса и логиката използвана в решението.

Надявам се да съм помогнал.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.