Skip to content

Instantly share code, notes, and snippets.

@yosevu
Last active August 16, 2016 15:38
Show Gist options
  • Select an option

  • Save yosevu/368febecc9f454b07e907dd965147b0a to your computer and use it in GitHub Desktop.

Select an option

Save yosevu/368febecc9f454b07e907dd965147b0a to your computer and use it in GitHub Desktop.
//7
function countVowels(string) {
var letters = string.split('');
var vowels = "aeiou";
var vowelIndex;
var vowel;
var vowelCount = 0;
var i = 0;
while (i < vowels.length) {
if (letters.includes(vowels[i]) === true) {
// Is this:
vowelIndex = letters.indexOf(vowels[i]);
vowel = letters.splice(vowelIndex, 1);
// Better than this:
// vowel = letters.splice(letters.indexOf(vowels[i]), 1);
vowelCount++;
}
else {
i++;
}
}
console.log(vowelCount);
}
countVowels("The quick brown fox");
// 8
function checkPrime(num) {
var i = 3;
if (num != 2 && num % 2 == 0 || num < 2) {
return "not prime";
}
else {
while (i < num) {
if (num % i == 0) {
return "not prime";
}
else {
i += 2
}
}
}
return "prime";
}
console.log(checkPrime(1));
console.log(checkPrime(97));
console.log(checkPrime(49));
console.log(checkPrime(2));
// 12
// v1 Sum of proper positive divisors
function checkPerfectNumber(num) {
var sum = 0;
for (var i = 1; i < num; i++) {
if (num % i == 0) {
sum += i;
}
}
if (sum == num && num != 0) {
return "perfect";
}
else {
return "not perfect";
}
}
// v2 Half sum of all positive divisors
function checkPerfectNumber(num) {
var i = 1;
var check = 0;
while (i <= num) {
if (num % i == 0) {
check += i;
}
i++;
}
if (check / 2 == num && num != 0) {
return "perfect";
}
else {
return "not perfect";
}
}
console.log(checkPerfectNumber(0));
console.log(checkPerfectNumber(1));
console.log(checkPerfectNumber(6));
console.log(checkPerfectNumber(28));
console.log(checkPerfectNumber(496));
console.log(checkPerfectNumber(2389));
console.log(checkPerfectNumber(8128));
// 17
function countLetters(string) {
var letters = string.split('');
var i;
var currentLetter;
var letterCounts = {};
while (letters.length > 0) {
i = 0;
currentLetter = letters[i];
while (letters.includes(currentLetter)) {
if (letterCounts[currentLetter] == undefined) {
letterCounts[currentLetter] = 1;
}
else {
letterCounts[currentLetter] += 1;
}
// letters.splice(i, 1); // Mistake
letters.splice(letters.indexOf(currentLetter), 1); // fixed
}
}
console.log(letterCounts);
}
countLetters("dcbcdbcdacdd");
// 24
function bubbleSort(numbers) {
var i = 0;
var j;
var holdValue;
while (i < numbers.length) {
j = 0;
while (j < numbers.length) {
if (numbers[j] > numbers[j + 1]) {
holdValue = numbers[j];
numbers[j] = numbers[j + 1];
numbers[j+1] = holdValue
}
j++;
}
i++;
}
console.log(numbers);
}
bubbleSort([27, 29, 31, 36, 2014, 2012, 11, 17, -0.1, 4, 2016, 1.99, 40, 120.96]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment