Loading...
ch1bs777 avatar ch1bs777 0 Точки

6. Combinations(Nested Loops JavaScript)

имам проблем със 6та задача. дава ми 70/100 и не мога да разбера каде ми е грешката. Ето го условието: 

Комбинации

Напишете програма, която изчислява колко решения в естествените числа (включително и нулата) има уравнението:

x1 + x2 + x3 + x4 + x5 = n

Числото n е цяло число и се въвежда от конзолата.

Тествайте решението си в judge системата: https://judge.softuni.bg/Contests/Practice/Index/1016#05.

Примерен вход и изход

Вход

Изход

Обяснения

Вход

Изход

Вход

Изход

25

23751

Генерираме всички комбинации от 5 числа, като първата е:

0+0+0+0+0=0, но понеже не е равна на 25, продължаваме:

0+0+0+0+1=1 – също не е 25 и т.н

Стигаме до първата валидна комбинация:

0 + 0 + 0 + 0 + 25 = 25, увеличаваме броя на валидни комбинации с 1,втората валидна комбинация е:

0 + 0 + 0 + 1 + 24 = 25

Третата:

0 + 0 + 0 + 2 + 23 = 25  и т.н

След генериране на всички възможни комбинации, броят на валидните е 23751.

20

10626

5

 

126

 

моето решение(70/100): 

function solve(args) {

let n = Number(args[0])

let counter = 0;

for (let i = 0; i <= 9; i++) {

for (let j = 0; j <= 9; j++) {

for (let k = 0; k <= 9; k++) {

for (let l = 0; l <= 9; l++) {

for (let m = 0; m <= 9; m++) {

let combinations = i + j + k + l + m

if (combinations === n) {

counter++

}

}

}

}

}

}

console.log(counter)

}

 

0
Programming Basics
IvayloIvanovV avatar IvayloIvanovV 83 Точки
Best Answer

В примера имаш - 0 + 0 + 0 + 2 + 23 = 25, а ти въртиш циклите само до 9.
Ето ти поправеното решение https://pastebin.com/9pWc4R9R

0
ch1bs777 avatar ch1bs777 0 Точки

Благодаря!

0
Laniakea avatar Laniakea 0 Точки

Здравейте,

Интересно ми е само да питам, на лекцията ли ви обясниха, че x1+x2+x3  etc. са всъщност напълно различни числа, които не се делят на х и 1, х и 2, и т.н.? 

Мъчих се 1 час, мислейки че това е х*1+х*2+х*3... 

Би било малко по-логично да са a+b+c+d+e. Само аз ли се излъгах че всички събираеми трябва да са кратни на х?

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