Skip to content

Instantly share code, notes, and snippets.

@kumarandena
Last active April 4, 2019 05:30
Show Gist options
  • Save kumarandena/5a9f54c9a0611ae20c79d6153fcc4aa8 to your computer and use it in GitHub Desktop.
Save kumarandena/5a9f54c9a0611ae20c79d6153fcc4aa8 to your computer and use it in GitHub Desktop.
Fizz Buzz problem - Decisions
//logic#1.ts
//bit ugly method
FizzBuzz() {
for (let i = 1; i <= 100; i++) {
if (i % 3 === 0 && i % 5 === 0 && i % 2 === 0 && i % 6 === 0 && i % 4 === 0 && i % 7 === 0 && i % 8 === 0) {
console.log("Fizz Buzz Test six four seven eight ")
}
else if (i % 3 === 0 && i % 5 === 0 && i % 2 === 0 && i % 6 === 0 && i % 4 === 0 && i % 7 === 0) {
console.log("Fizz Buzz Test six four seven ")
}
else if (i % 3 === 0 && i % 5 === 0 && i % 2 === 0 && i % 6 === 0 && i % 4 === 0) {
console.log("Fizz Buzz Test six four ")
}
else if (i % 3 === 0 && i % 5 === 0 && i % 2 === 0 && i % 6 == 0) {
console.log("Fizz Buzz Test six ")
}
else if (i % 3 === 0 && i % 5 === 0 && i % 2 === 0) {
console.log("Fizz Buzz Test ")
}
else if (i % 3 === 0 && i % 5 === 0) {
console.log("Fizz Buzz ")
}
else if (i % 3 === 0) {
console.log("Fizz ")
}
else if (i % 5 === 0) {
console.log("Buzz ")
}
else {
console.log(i)
}
}
//bit clear method
FizzBuzz() {
for (let i = 1; i <= 100; i++) {
let log = '';
if (i % 3 === 0 && i % 5 === 0) {
log += 'Fizz Buzz';
}
else if (i % 3 === 0) {
log += 'Fizz';
}
else if (i % 5 === 0) {
log += 'Buzz';
}
if (log == '') {
log += i.toString();
}
console.log(log);
}
}
//more clear method
FizzBuzz() {
for (let i = 1; i <= 100; i++) {
let log = '';
let multipleOfThree = i % 3 === 0;
let multipleOfFive = i % 5 === 0;
if (multipleOfThree && multipleOfFive) {
log += 'Fizz Buzz';
}
else if (multipleOfThree) {
log += 'Fizz';
}
else if (multipleOfFive) {
log += 'Buzz';
}
if (log == '') {
log += i.toString();
}
console.log(log);
}
}
//alternative method
FizzBuzz() {
let multiples = [{ multiple: 15, log: 'Fizz Buzz' }, { multiple: 3, log: 'Fizz' }, { multiple: 5, log: 'Buzz' }];
let range = 100;
this.logic4(multiples, range);
}
logic4(multiples, range: number) {
for (let i = 1; i <= range; i++) {
let log = '';
multiples.forEach(element => {
if (log == '') {
if (i % element['multiple'] === 0) {
log += element['log'];
}
}
});
if (log == '') {
log += i.toString();
}
console.log(log);
}
}
//alternative method
FizzBuzz() {
for (let i = 1; i <= 100; i++) {
let log = '';
let multipleOfThree = i % 3 === 0;
let multipleOfFive = i % 5 === 0;
let x = 0;
switch (x) {
case multipleOfThree && multipleOfFive ? 0 : 1:
log += 'Fizz Buzz';
break;
case multipleOfThree ? 0 : 1:
log += 'Fizz';
break;
case multipleOfFive ? 0 : 1:
log += 'Buzz';
break;
default:
log += i.toString();
break;
}
console.log(log);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment