Complex Loops-11. Enter Even Number
Здравейте, може ли малко помощ за следната задача. Дали ми е правилна логиката и в двата ми варианта на задачата? Също така се чудя къде да поставя try и catch и дали правилно задавам масива. Judge не ми дава 100/100.
Предварително благодаря! :)
11. Да се напише програма, която проверява дали едно число n е четно, ако е - да се отпечатва на екрана. За четно считаме число, което се дели на 2 без остатък. При невалидно число да се връща към повторно въвеждане и да се изписва съобщение, което известява, че въведеното число не е четно.
Вариант 1: с while
function solve (args) {
let n=Number(args[0])
let counter=1
while(n%2==1) {
console.log("Invalid number!")
n=Number(counter);
counter++;
}
console.log(`The number is: ${n}`)
}
Вариант 2: с while(true)
function solve(args) {
var n=Number(args[0])
var counter=1
while(true) {
if(n%2==0) {
console.log(`Even number entered ${n}`)
break;
}
console.log("Invalid number!")
n=Number(counter)
counter++;
}
}
Благодаря отново за отзивчивостта!
Вярно,че едно отрицателно число, ако се раздели на 2, тоест ако е четно, няма как никога да върне 1. Вече винаги при проверка за четност ще използвам n%2=0- четно или n%2!=0-нечетно.
Благодаря и за поправката в инициализацията на n. Интересно защо в Programing Basic не се застъпва толкова работа с масиви. Може би в следващия курс ще се- Programing Fundamentals. Това ми беше първата такава задача,а почти завърших курса на Programing Basic. От голяма важност ми беше да разбера как се случва инциализацията на n, особено ако не знаем колко предварително са на брой,а и при това са в цикъл.
Още веднъж благодаря за отделното време!
Поздрави!