Loading...
Elena123456 avatar Elena123456 235 Точки

01. Stupid Password Generator -неправилно изполване на Ascii таблицата

 

Здравейте, моля за помощ за поредната задача. Логиката ми  е правилна, защото на C# Judge дава 100/100.

Предполагам,че неуспешно съм използвала Ascii таблицата, защото на Java script ми изписва следната грешка:

C:\Windows\TEMP\ExecutionStrategies\5ajfgtlu.us0\tmp7E8E.tmp:85
let c1=String.formatCharCode(c1ascii);
              ^

TypeError: String.formatCharCode is not a function"

На C# е достатъчно само да използвам еденични кавички и програмата разбира, че искам да въведа символ, а на Java script не е точно така и ми е изключително объркващо.

Условието на задачата е:

Задача: генератор за тъпи пароли

Да се напише програма, която въвежда две цели числа n и l и генерира по азбучен ред всички възможни "тъпи” пароли", които се състоят от следните 5 символа:

  • Символ 1: цифра от 1 до n.
  • Символ 2: цифра от 1 до n.
  • Символ 3: малка буква измежду първите l букви на латинската азбука.
  • Символ 4: малка буква измежду първите l букви на латинската азбука.
  • Символ 5: цифра от 1 до n, по-голяма от първите 2 цифри.

Входни данни

Входът е масив състоящ се от две цели числа (аргумента): n и l в интервала [1 … 9].

Изходни данни

На конзолата трябва да се отпечатат всички "тъпи" пароли по азбучен ред, разделени с интервал.

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

Вход Изход Вход Изход
[ '2', '4' ] 11aa2 11ab2 11ac2 11ad2 11ba2 11bb2 11bc2 11bd2 11ca2 11cb2 11cc2 11cd2 11da2 11db2 11dc2 11dd2 [ '3' , '1' ] 11aa2 11aa3 12aa3 21aa3 22aa3
Вход Изход Вход Изход
[ '3' , '2' ] 11aa2 11aa3 11ab2 11ab3 11ba2 11ba3 11bb2 11bb3 12aa3 12ab3 12ba3 12bb3 21aa3 21ab3 21ba3 21bb3 22aa3 22ab3 22ba3 22bb3 [ '4' , '2' ] 11aa2 11aa3 11aa4 11ab2 11ab3 11ab4 11ba2 11ba3 11ba4 11bb2 11bb3 11bb4 12aa3 12aa4 12ab3 12ab4 12ba3 12ba4 12bb3 12bb4 13aa4 13ab4 13ba4 13bb4 21aa3 21aa4 21ab3 21ab4 21ba3 21ba4 21bb3 21bb4 22aa3 22aa4 22ab3 22ab4 22ba3 22ba4 22bb3 22bb4 23aa4 23ab4 23ba4 23bb4 31aa4 31ab4 31ba4 31bb4 32aa4 32ab4 32ba4 32bb4 33aa4 33ab4 33ba4 33bb4

 

 

 

Моя неуспешен опит- Judge 0/100

function solve([arg1,arg2]) {
    let n=Number(arg1);
    let l=Number(arg2);
for(let b=1;b<=n;b++){
  for(let b2=1;b2<=n;b2++) {
    for( let c1ascii=97;c1ascii< 97+ l;c1ascii++) {
let c1=String.formatCharCode(c1ascii);
for( let c2ascii=97;c2ascii< 97+ l;c2ascii++) {
let c2=String.formatCharCode(c2ascii);
for(let b3=Math.max(b,b2)+1; b3<=n;b3++) {
  process.stdout.write(`${b}${b2}${c1}${c2}${b3}`);
}

}


    }

  }
}
 


}

 

Тагове:
0
Programming Basics 19/05/2020 22:10:48
MartinBG avatar MartinBG 4803 Точки
Best Answer

Използвахте грешно име на функция - formatCharCode, вместо fromCharCode и оутпут формата беше малко объркан.

Поправеното решение:

 

function solve([arg1, arg2]) {
  let n = Number(arg1);
  let l = Number(arg2);
  for (let b = 1; b <= n; b++) {
    for (let b2 = 1; b2 <= n; b2++) {
      for (let c1ascii = 97; c1ascii < 97 + l; c1ascii++) {
        let c1 = String.fromCharCode(c1ascii);
        for (let c2ascii = 97; c2ascii < 97 + l; c2ascii++) {
          let c2 = String.fromCharCode(c2ascii);
          for (let b3 = Math.max(b, b2) + 1; b3 <= n; b3++) {
            process.stdout.write(`${b}${b2}${c1}${c2}${b3} `);
          }
        }
      }
    }
  }
  console.log();
}

 

0
19/05/2020 22:14:48
Elena123456 avatar Elena123456 235 Точки

Благодаря Ви!

Надявам се, че не Ви отнемам прекалено много от времето.

 

Почти час се чудя къде е проблема, а дефакто имало печатна грешка в самия електронен учебник на СофтУни -  https://js-book.softuni.bg/chapter-07-complex-loops-exam-problems.html , където няколко пъти е написано "String.formatCharCode". Това вече е малко разочароващо, но да, всеки може да допусне печатна грешка. Благодаря за поправката!

 

 

 

 

 

 

 

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