Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
module.exports = {
"env": {
"browser": true,
"es6": true
"es6": true,
"amd": true
},
"extends": "eslint:recommended",
"globals": {
Expand Down
18 changes: 16 additions & 2 deletions main.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
require("amd-loader");
var msg = require('./tasks/template');
msg.print("run!");
// var msg = require('./tasks/template');
// msg.print("run!");


var kyu8_1=require('./tasks/8_kyu');
console.log(kyu8_1.Kata(6.3,2,5));

var kyu7=require('./tasks/7_kyu');
console.log(kyu7.whereIsHe(5, 2, 3));

var kyu6=require('./tasks/6_kyu');
console.log(kyu6.mean("London"));
console.log(kyu6.variance("Beijing"));

var kyu5=require('./tasks/5_kyu');
console.log(kyu5.gap(2, 5, 7));
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "codewarstasks",
"version": "1.0.0",
"description": "",
"main": "index.js",
"main": "main.js",
"dependencies": {
"amd-loader": "0.0.8",
"requirejs": "^2.3.6"
Expand Down
39 changes: 39 additions & 0 deletions tasks/5_kyu.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
define(function () {
return {
gap: function(g,m,n){
let unswer=[];
let primeNumbers=[];
primeNumbers.length=n+1;
primeNumbers.fill(0,0,n+1)
for (let i=2; i*i<n+1; i++){
if (primeNumbers[i]==0) {
for (let k=i*i; k<n+1; k+=i) {
primeNumbers[k]=1
}
}
}
while(m<=n+1-g){
if ((primeNumbers[m]==0) && (primeNumbers[m+g]==0)) {
let isPrimeBetween=false;
for (let f=m+1; f<=(m+g-1); f++) {
if (primeNumbers[f]==0){
isPrimeBetween=true;
}
}
if (!isPrimeBetween){
unswer[0]=m; unswer[1]=m+g;
return unswer;
// break;
} else {
m++
}
} else {
m++;
}
}
return null;
}
};
});


70 changes: 70 additions & 0 deletions tasks/6_kyu.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
let myData={
errorTown: 1,
rainFall:[],
avgFall: 0,
varianceFall: 0
}

const data =
"Rome:Jan 81.2,Feb 63.2,Mar 70.3,Apr 55.7,May 53.0,Jun 36.4,Jul 17.5,Aug 27.5,Sep 60.9,Oct 117.7,Nov 111.0,Dec 97.9" + "\n" +
"London:Jan 48.0,Feb 38.9,Mar 39.9,Apr 42.2,May 47.3,Jun 52.1,Jul 59.5,Aug 57.2,Sep 55.4,Oct 62.0,Nov 59.0,Dec 52.9" + "\n" +
"Paris:Jan 182.3,Feb 120.6,Mar 158.1,Apr 204.9,May 323.1,Jun 300.5,Jul 236.8,Aug 192.9,Sep 66.3,Oct 63.3,Nov 83.2,Dec 154.7" + "\n" +
"NY:Jan 108.7,Feb 101.8,Mar 131.9,Apr 93.5,May 98.8,Jun 93.6,Jul 102.2,Aug 131.8,Sep 92.0,Oct 82.3,Nov 107.8,Dec 94.2" + "\n" +
"Vancouver:Jan 145.7,Feb 121.4,Mar 102.3,Apr 69.2,May 55.8,Jun 47.1,Jul 31.3,Aug 37.0,Sep 59.6,Oct 116.3,Nov 154.6,Dec 171.5" + "\n" +
"Sydney:Jan 103.4,Feb 111.0,Mar 131.3,Apr 129.7,May 123.0,Jun 129.2,Jul 102.8,Aug 80.3,Sep 69.3,Oct 82.6,Nov 81.4,Dec 78.2" + "\n" +
"Bangkok:Jan 10.6,Feb 28.2,Mar 30.7,Apr 71.8,May 189.4,Jun 151.7,Jul 158.2,Aug 187.0,Sep 319.9,Oct 230.8,Nov 57.3,Dec 9.4" + "\n" +
"Tokyo:Jan 49.9,Feb 71.5,Mar 106.4,Apr 129.2,May 144.0,Jun 176.0,Jul 135.6,Aug 148.5,Sep 216.4,Oct 194.1,Nov 95.6,Dec 54.4" + "\n" +
"Beijing:Jan 3.9,Feb 4.7,Mar 8.2,Apr 18.4,May 33.0,Jun 78.1,Jul 224.3,Aug 170.0,Sep 58.4,Oct 18.0,Nov 9.3,Dec 2.7" + "\n" +
"Lima:Jan 1.2,Feb 0.9,Mar 0.7,Apr 0.4,May 0.6,Jun 1.8,Jul 4.4,Aug 3.1,Sep 3.3,Oct 1.7,Nov 0.5,Dec 0.7";



define(function () {
return {
mean: function(town) {
let regTown=new RegExp(""+town+"\\W",'gi')

let searchTown=data.search(regTown);
if (searchTown==-1) {
myData.errorTown=-1;
return -1
} else {
let startTownLine=data.indexOf(':',searchTown)
let searchEndFallline=data.indexOf('\n',searchTown)
let endTownLine=searchEndFallline==-1 ? data.length : searchEndFallline;
let rainFallArr=data.slice(startTownLine,endTownLine).split(/\W\w\w\w\s/);
rainFallArr.shift();
myData.rainFall=rainFallArr;
let avg=rainFallArr.reduce((acum,currentVal)=>acum+=(+currentVal),0)/12;
myData.avgFall=avg;
return(avg);
}
},
variance: function (town) {
let regTown=new RegExp(""+town+"\\W",'gi')

let searchTown=data.search(regTown);
if (searchTown==-1) {
myData.errorTown=-1;
return -1
} else {
let startTownLine=data.indexOf(':',searchTown)
let searchEndFallline=data.indexOf('\n',searchTown)
let endTownLine=searchEndFallline==-1 ? data.length : searchEndFallline;
let rainFallArr=data.slice(startTownLine,endTownLine).split(/\W\w\w\w\s/);
rainFallArr.shift();
myData.rainFall=rainFallArr;
let avg=rainFallArr.reduce((acum,currentVal)=>acum+=(+currentVal),0)/12;
myData.avgFall=avg;

myData.varianceFall=myData.rainFall.reduce((acum,currentVal)=>acum+=Math.pow((currentVal-myData.avgFall),2),0)/12;
return myData.varianceFall;
}
}

};
});




14 changes: 14 additions & 0 deletions tasks/7_kyu.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
define(function () {
return {
whereIsHe: function whereIsHe( p, bef, aft ){
let posNumb=0;
for (let i=1; i<=p; i++){
if (i-1<=aft && p-i>=bef){
posNumb++;
}
}
return posNumb;
}
};
})

6 changes: 6 additions & 0 deletions tasks/8_kyu.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
define(function () {
return {
Kata: function(length, width, height){return length * width * height}
};
})

14 changes: 7 additions & 7 deletions tasks/template.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
define(function () {
return {
print: function(msg) {
console.log(msg);
}
};
});
// define(function () {
// return {
// print: function(msg) {
// // console.log(msg);
// }
// };
// });