euler 17
by Hensixteen
JavaScript
var counter = 1;
var testString;
var numString;
var length;
var total = 0;
var char1;
var char2;
var char3;
var word1;
var word2;
var word3;
var nums = ["", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
var over9 = ["ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"];
var over19 = ["twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"];
for(counter = 1; counter<=1000; counter++) {
testString = counter.toString();
length = testString.length;
word1 = "";
word2 = "";
word3 = "";
if(length==4) {
word1 = "onethousand";
}
else if(length==3) {
char1 = Number(testString.charAt(0));
char2 = Number(testString.charAt(1));
char3 = Number(testString.charAt(2));
word1 = (nums[char1]+"hundred");
if(counter%100==0) {
}
else if(counter-(100*Number(testString.charAt(0))) <= 19) {
if(counter-(100*Number(testString.charAt(0))) <= 9) {
word2=("and"+nums[char3]);
}
else {
word2=("and"+over9[char3])
}
}
else {
word2=("and"+over19[(char2-2)]);
word3=nums[char3];
}
}
else if(length==2) {
char1 = Number(testString.charAt(0));
char2 = Number(testString.charAt(1));
if(counter<=19) {
word1=over9[char2];
}
else {
word1=over19[(char1-2)];
word2=nums[char2];
}
}
else {
char1 = Number(testString.charAt(0));
word1 = nums[char1];
}
numString = (word1+word2+word3);
total+=numString.length;
console.log(numString+" - "+total);
}