Loading...
inaivanova1990 avatar inaivanova1990 33 Точки

2. Комбинации от букви от Nested Loops - More Exercises

https://pastebin.com/Q4Jg4znu

Здравейте, в тази задача усещам, че ми трябва някакъв метод, но не знам как да го употребя...

Някой ако може да сподели решение

1.Комбинации от букви

Напишете програма, която да принтира на конзолата всички комбинации от 3 букви в зададен интервал, като се пропускат комбинациите съдържащи зададена от конзолата буква. Накрая трябва да се изпринтира броят на отпечатаните комбинации.

Вход

Входът се чете от конзолата и съдържа точно 3 реда:

Ред 1.Малка буква от английската азбука за начало на интервала – от ‘a’ до ‚z’.

Ред 2.Малка буква от английската азбука за край на интервала  – от първата буква до ‚z’.

Ред 3.Малка буква от английската азбука – от ‘a’ до ‚z’ – като комбинациите съдържащи тази буквата се пропускат.

Изход

Да се отпечатат на един ред всички комбинации отговарящи на условието плюс броят им разделени с интервал.

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

Вход

Изход

Обяснения

a

c

b

aaa aac aca acc caa cac cca ccc 8

Всички възможни комбинации с буквите a, b, и c са:

aaa aab aac aba abb abc aca acb acc baa bab bac bba bbb bbc bca bcb bcc caa cab cac cba cbb cbc cca ccb ccc

Комбинациите съдържащи b не са валидни.

Остават 8 валидни комбинации

Вход

Изход

f

k

h

fff ffg ffi ffj ffk fgf fgg fgi fgj fgk fif fig fii fij fik fjf fjg fji fjj fjk fkf fkg fki fkj fkk gff gfg gfi gfj gfk ggf ggg ggi ggj ggk gif gig gii gij gik gjf gjg gji gjj gjk gkf gkg gki gkj gkk iff ifg ifi ifj ifk igf igg igi igj igk iif iig iii iij iik ijf ijg iji ijj ijk ikf ikg iki ikj ikk jff jfg jfi jfj jfk jgf jgg jgi jgj jgk jif jig jii jij jik jjf jjg jji jjj jjk jkf jkg jki jkj jkk kff kfg kfi kfj kfk kgf kgg kgi kgj kgk kif kig kii kij kik kjf kjg kji kjj kjk kkf kkg kki kkj kkk 125

Вход

Изход             

a

c

z

aaa aab aac aba abb abc aca acb acc baa bab bac bba bbb bbc bca bcb bcc caa cab cac cba cbb cbc cca ccb ccc 27

Тагове:
0
Programming Basics
Axiomatik avatar Axiomatik 2422 Точки

Code itself was correct, you just needed to use charCodeAt (for converting letters to numbers) and String.fromCharCode (to convert numbers to letters). Check out charAt(), charCodeAt(), fromCharCode() at https://developer.mozilla.org and https://www.w3schools.com to learn more ;-).

Also, start to use an array to collect multiple elements instead of concatinating a large string.

Carefull, the exercise required to append the count to the final string and not to print on a separate line :"Да се отпечатат на един ред всички комбинации отговарящи на условието плюс броят им разделени с интервал."

Best,

function solve(input) {
    // let first = input.shift();
    // let second = input.shift();
    // let skiped = input.shift();

    let first = input.shift().charCodeAt(0);
    let second = input.shift().charCodeAt(0);
    let skiped = input.shift();

    let array = [];
    let count = 0;
    let g = "";
    for (let i = first; i <= second; i++) {
        for (let j = first; j <= second; j++) {
            for (let k = first; k <= second; k++) {
                let firstLetter = String.fromCharCode(i);
                let secondLetter = String.fromCharCode(j);
                let thirdLetter = String.fromCharCode(k);

                // if (i !== skiped || j !== skiped || k !== skiped) { Use &&, || will not work
                if (firstLetter !== skiped && secondLetter !== skiped && thirdLetter !== skiped) {

                    count++;
                    // g += (i + j + k) + " ";
                    g += (firstLetter + secondLetter + thirdLetter) + " ";
                    array.push(firstLetter + secondLetter + thirdLetter);

                }
            }
        }

    }
    // console.log(g);
    // console.log(count);
    array.push(count);
    console.log(array.join(' '));
}
0
inaivanova1990 avatar inaivanova1990 33 Точки

Благодаря за подробния отговор. Много ми помогна да разбера задачата :)

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