function createFebonacci(nth){ return Math.round((Math.pow(1.6180339, nth))/Math.sqrt(5)); } function createEvenFebonacci() { var nth = 0; var febo = 0; var result = 0 var suquence = []; while(1) { febo = createFebonacci(nth++); console.log(febo); if (febo % 2 == 0) { suquence.push(febo); } if (febo > 4000000) { console.log(suquence); for (var i = 0; i < suquence.length; i++) { result += sesuquence[i]; } break; } } console.log(result); } createEvenFebonacci(); var capitals = function (word) { var indexs = []; for (i = 0; i < word.length; i++ ) { var charcter = word[i]; if (charcter == word[i].toUpperCase()) { indexs.push(i); } } return indexs; }; function Counter(){ this.value = 0; } Counter.prototype.incr = function() { this.value++; } Counter.prototype.toString = function() { return this.value; } function isIsogram(str) { var charcters = []; for (var i = 0; i < str.length; i++) { if (typeof charcters[str.toUpperCase().charCodeAt(i)] == 'undefined') charcters[str.toUpperCase().charCodeAt(i)] = str[i] else return false; } return true; }
Implement function createTemplate which takes string with tags wrapped in {{brackets}}
as input and returns closure, which can fill string with data (flat object, where keys are tag names).
let personTmpl = createTemplate("{{name}} likes {{animalType}}"); personTmpl({ name: "John", animalType: "dogs" }); // John likes dogs function createTemplate(template) { return function(obj) { for (attr in obj) { var pattern = new RegExp('{{' + attr + '}}', "g"); var matchText = pattern.test(template) ? obj[attr] : '' ; console.log(matchText); template = template.replace(pattern,matchText ); } return template; } } var personTmpl = createTemplate("{{name}} likes {{animalType}}"); personTmpl({ names: "John", animalType: "dogs" }); // John likes dogs
If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Finish the solution so that it returns the sum of all the multiples of 3 or 5 below the number passed in.
//an = a1 + (n - 1)d //Sn = (n/2)(a1 + an) function solution(number){ return getSum(3, number -1 ) + getSum(5, number- 1) + getSum(15, number- 1); } function getSum(difference,number) { var frequency = Math.floor(number / difference); var lastNumber = difference + (frequency - 1) * difference; return (frequency/ 2) * (difference + lastNumber); } solution(19)