From 1650f6e66af14976a6f847acda18bcbf5083ac11 Mon Sep 17 00:00:00 2001 From: Fatima Date: Mon, 23 Jan 2023 17:25:04 -0500 Subject: [PATCH 1/4] Is Palindrome Number --- maths/pallindrome_number.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 maths/pallindrome_number.ts diff --git a/maths/pallindrome_number.ts b/maths/pallindrome_number.ts new file mode 100644 index 00000000..4136bb31 --- /dev/null +++ b/maths/pallindrome_number.ts @@ -0,0 +1,19 @@ +/** + * A function to see if a number is a Pallindrome + * @param number The input integer + * @return {boolean} True or False based on the integer + * @example isPalindrome(12321) => true | isPalindrome(455) => false + * @see https://en.wikipedia.org/wiki/Palindromic_number + * @author FatimaChariwala + */ + +export const isPalindrome = (number: number): boolean => { + const stringValue = number.toString(); + length = stringValue.length - 1; + for (let i = 0; i < length; ++i, --length) { + if (stringValue[i] !== stringValue[length]) { + return false; + } + } + return true; +}; \ No newline at end of file From 1e32b1901a46e2edad56cf06412baafb0c8f55ef Mon Sep 17 00:00:00 2001 From: Fatima Date: Mon, 23 Jan 2023 17:56:32 -0500 Subject: [PATCH 2/4] Is Palindrome Number update --- ...pallindrome_number.ts => palindrome_number.ts} | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) rename maths/{pallindrome_number.ts => palindrome_number.ts} (52%) diff --git a/maths/pallindrome_number.ts b/maths/palindrome_number.ts similarity index 52% rename from maths/pallindrome_number.ts rename to maths/palindrome_number.ts index 4136bb31..3533c2b2 100644 --- a/maths/pallindrome_number.ts +++ b/maths/palindrome_number.ts @@ -7,13 +7,12 @@ * @author FatimaChariwala */ -export const isPalindrome = (number: number): boolean => { - const stringValue = number.toString(); - length = stringValue.length - 1; - for (let i = 0; i < length; ++i, --length) { - if (stringValue[i] !== stringValue[length]) { - return false; - } +export const IsPalindrome = (number: number): boolean => { + let reverseString = ""; + let stringValue = number.toString(); + let length = stringValue.length - 1; + for (let i = length; i >= 0; --i) { + reverseString = reverseString + stringValue[i]; } - return true; + return stringValue == reverseString; }; \ No newline at end of file From ce03e0f8ac3141d656c3f150c90609dc0012c340 Mon Sep 17 00:00:00 2001 From: Fatima Date: Mon, 23 Jan 2023 18:22:55 -0500 Subject: [PATCH 3/4] Added tests and updated Directory.md --- DIRECTORY.md | 1 + maths/{palindrome_number.ts => is_palindrome.ts} | 0 maths/test/is_palindrome.test.ts | 10 ++++++++++ 3 files changed, 11 insertions(+) rename maths/{palindrome_number.ts => is_palindrome.ts} (100%) create mode 100644 maths/test/is_palindrome.test.ts diff --git a/DIRECTORY.md b/DIRECTORY.md index b96d789d..238054a4 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -27,6 +27,7 @@ * [Is Even](https://github.com/TheAlgorithms/TypeScript/blob/HEAD/maths/is_even.ts) * [Is Leap Year](https://github.com/TheAlgorithms/TypeScript/blob/HEAD/maths/is_leap_year.ts) * [Is Odd](https://github.com/TheAlgorithms/TypeScript/blob/HEAD/maths/is_odd.ts) + * [IS Palindrome](https://github.com/TheAlgorithms/TypeScript/blob/HEAD/maths/is_palindrome.ts) * [Lowest Common Multiple](https://github.com/TheAlgorithms/TypeScript/blob/HEAD/maths/lowest_common_multiple.ts) * [Perfect Square](https://github.com/TheAlgorithms/TypeScript/blob/HEAD/maths/perfect_square.ts) * [Pronic Number](https://github.com/TheAlgorithms/TypeScript/blob/HEAD/maths/pronic_number.ts) diff --git a/maths/palindrome_number.ts b/maths/is_palindrome.ts similarity index 100% rename from maths/palindrome_number.ts rename to maths/is_palindrome.ts diff --git a/maths/test/is_palindrome.test.ts b/maths/test/is_palindrome.test.ts new file mode 100644 index 00000000..af7122f2 --- /dev/null +++ b/maths/test/is_palindrome.test.ts @@ -0,0 +1,10 @@ +import { IsPalindrome } from "../is_palindrome"; + +describe("IsPalindrome", () => { + test.each([[5, true], [1234, false], [12321, true], [32.23, true], [31343, false]])( + "correct output for for %i", + (nums, expected) => { + expect(IsPalindrome(nums)).toBe(expected); + }, + ); +}); \ No newline at end of file From f790f547b3f506e5b3a1b4ef8ee687fe464cd188 Mon Sep 17 00:00:00 2001 From: Fatima Date: Mon, 23 Jan 2023 18:24:39 -0500 Subject: [PATCH 4/4] updated Directory.md --- DIRECTORY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DIRECTORY.md b/DIRECTORY.md index 238054a4..aeff71c7 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -27,7 +27,7 @@ * [Is Even](https://github.com/TheAlgorithms/TypeScript/blob/HEAD/maths/is_even.ts) * [Is Leap Year](https://github.com/TheAlgorithms/TypeScript/blob/HEAD/maths/is_leap_year.ts) * [Is Odd](https://github.com/TheAlgorithms/TypeScript/blob/HEAD/maths/is_odd.ts) - * [IS Palindrome](https://github.com/TheAlgorithms/TypeScript/blob/HEAD/maths/is_palindrome.ts) + * [Is Palindrome](https://github.com/TheAlgorithms/TypeScript/blob/HEAD/maths/is_palindrome.ts) * [Lowest Common Multiple](https://github.com/TheAlgorithms/TypeScript/blob/HEAD/maths/lowest_common_multiple.ts) * [Perfect Square](https://github.com/TheAlgorithms/TypeScript/blob/HEAD/maths/perfect_square.ts) * [Pronic Number](https://github.com/TheAlgorithms/TypeScript/blob/HEAD/maths/pronic_number.ts)