From 4ef63574296b9bfbd730850d0f27a596d6551ea1 Mon Sep 17 00:00:00 2001 From: AshishKumar1297 Date: Tue, 12 May 2026 11:23:07 +0530 Subject: [PATCH 1/8] Add: NeonNumber algorithm in maths --- .../com/thealgorithms/maths/NeonNumber.java | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/main/java/com/thealgorithms/maths/NeonNumber.java diff --git a/src/main/java/com/thealgorithms/maths/NeonNumber.java b/src/main/java/com/thealgorithms/maths/NeonNumber.java new file mode 100644 index 000000000000..c71924913622 --- /dev/null +++ b/src/main/java/com/thealgorithms/maths/NeonNumber.java @@ -0,0 +1,41 @@ +package com.thealgorithms.maths; + +import java.util.Scanner; + +public class NeonNumber { + + /** + * Check if a number is Neon Number. + * A neon number is a number where a sum of digits of its square equals the number itself. + * Example : 9--> 9^2 = 81 --> 8+1 = 9 + * + * @param number the number to check + * @return true if neon number, else --> false + */ + + public static boolean isNeon(int number) + { + int square = number*number; + int digitSum = 0; + while(square>0){ + digitSum += square % 10; + square/= 10; + } + return digitSum == number; + } + + public static void main(String[] args) { + Scanner scanner = new Scanner(System.in); + System.out.println("Enter a number: "); + int number = scanner.nextInt(); + + if(isNeon(number)){ + System.out.println(number + " is a Neon Numner "); + } else { + System.out.println(number + " is not a Neon Number "); + } + scanner.close(); + } +} + + // \ No newline at end of file From 8fbf7f1e168139b4a4236ccceb4c277546bf96bd Mon Sep 17 00:00:00 2001 From: AshishKumar1297 Date: Tue, 12 May 2026 11:53:07 +0530 Subject: [PATCH 2/8] Add: NeonNumber algorithm with test class --- .../com/thealgorithms/maths/NeonNumber.java | 20 +++-------------- .../thealgorithms/maths/NeonNumberTest.java | 22 +++++++++++++++++++ 2 files changed, 25 insertions(+), 17 deletions(-) create mode 100644 src/test/java/com/thealgorithms/maths/NeonNumberTest.java diff --git a/src/main/java/com/thealgorithms/maths/NeonNumber.java b/src/main/java/com/thealgorithms/maths/NeonNumber.java index c71924913622..2f31de735257 100644 --- a/src/main/java/com/thealgorithms/maths/NeonNumber.java +++ b/src/main/java/com/thealgorithms/maths/NeonNumber.java @@ -1,14 +1,13 @@ package com.thealgorithms.maths; -import java.util.Scanner; - public class NeonNumber { /** * Check if a number is Neon Number. * A neon number is a number where a sum of digits of its square equals the number itself. * Example : 9--> 9^2 = 81 --> 8+1 = 9 - * + * @see + * * Wikipedia - Recreational Mathematics * @param number the number to check * @return true if neon number, else --> false */ @@ -24,18 +23,5 @@ public static boolean isNeon(int number) return digitSum == number; } - public static void main(String[] args) { - Scanner scanner = new Scanner(System.in); - System.out.println("Enter a number: "); - int number = scanner.nextInt(); - - if(isNeon(number)){ - System.out.println(number + " is a Neon Numner "); - } else { - System.out.println(number + " is not a Neon Number "); - } - scanner.close(); - } -} - // \ No newline at end of file +} \ No newline at end of file diff --git a/src/test/java/com/thealgorithms/maths/NeonNumberTest.java b/src/test/java/com/thealgorithms/maths/NeonNumberTest.java new file mode 100644 index 000000000000..7ca8d2828485 --- /dev/null +++ b/src/test/java/com/thealgorithms/maths/NeonNumberTest.java @@ -0,0 +1,22 @@ +package com.thealgorithms.maths; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +public class NeonNumberTest { + + @Test + public void testIsNeonTrue(){ + assertTrue(NeonNumber.isNeon(9)); + assertTrue(NeonNumber.isNeon(1)); + assertTrue(NeonNumber.isNeon(0)); + } + @Test + public void testIsNeonFalse() + { + assertFalse(NeonNumber.isNeon(5)); + assertFalse(NeonNumber.isNeon(10)); + assertFalse(NeonNumber.isNeon(25)); + } +} From 07b4672de4a62c0cbf5a0a5ab4388f5f7a327593 Mon Sep 17 00:00:00 2001 From: AshishKumar1297 Date: Tue, 12 May 2026 12:24:39 +0530 Subject: [PATCH 3/8] Fix: remove main method and fix formatting --- src/main/java/com/thealgorithms/maths/NeonNumber.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/com/thealgorithms/maths/NeonNumber.java b/src/main/java/com/thealgorithms/maths/NeonNumber.java index 2f31de735257..557d5eb4c477 100644 --- a/src/main/java/com/thealgorithms/maths/NeonNumber.java +++ b/src/main/java/com/thealgorithms/maths/NeonNumber.java @@ -2,6 +2,8 @@ public class NeonNumber { + private NeonNumber(){ + } /** * Check if a number is Neon Number. * A neon number is a number where a sum of digits of its square equals the number itself. @@ -12,6 +14,7 @@ public class NeonNumber { * @return true if neon number, else --> false */ + public static boolean isNeon(int number) { int square = number*number; From 50c8c1d23cdba65dd3d582bdb6f57fd849a7398d Mon Sep 17 00:00:00 2001 From: AshishKumar1297 Date: Tue, 12 May 2026 14:39:17 +0530 Subject: [PATCH 4/8] Fix: clean NeonNumber code and fix formatting --- .../com/thealgorithms/maths/NeonNumber.java | 30 ++++++++----------- 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/thealgorithms/maths/NeonNumber.java b/src/main/java/com/thealgorithms/maths/NeonNumber.java index 557d5eb4c477..40b34c872b2b 100644 --- a/src/main/java/com/thealgorithms/maths/NeonNumber.java +++ b/src/main/java/com/thealgorithms/maths/NeonNumber.java @@ -1,30 +1,24 @@ package com.thealgorithms.maths; +/** + * Neon Number algorithm. + * A number whose sum of digits of its square equals the number itself. + * Example: 9^2=81⇒8+1=9 + * + * @see Wikipedia + */ public class NeonNumber { - private NeonNumber(){ + private NeonNumber() { } - /** - * Check if a number is Neon Number. - * A neon number is a number where a sum of digits of its square equals the number itself. - * Example : 9--> 9^2 = 81 --> 8+1 = 9 - * @see - * * Wikipedia - Recreational Mathematics - * @param number the number to check - * @return true if neon number, else --> false - */ - - public static boolean isNeon(int number) - { - int square = number*number; + public static boolean isNeon(int number) { + int square = number * number; int digitSum = 0; - while(square>0){ + while (square > 0) { digitSum += square % 10; - square/= 10; + square /= 10; } return digitSum == number; } - - } \ No newline at end of file From a2b3963c9d81018caf6c504cf3289c4ec18aa7ba Mon Sep 17 00:00:00 2001 From: AshishKumar1297 Date: Tue, 12 May 2026 15:06:38 +0530 Subject: [PATCH 5/8] Fix: build and formatting issues --- src/main/java/com/thealgorithms/maths/NeonNumber.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/thealgorithms/maths/NeonNumber.java b/src/main/java/com/thealgorithms/maths/NeonNumber.java index 40b34c872b2b..1cecb7cd8c91 100644 --- a/src/main/java/com/thealgorithms/maths/NeonNumber.java +++ b/src/main/java/com/thealgorithms/maths/NeonNumber.java @@ -16,7 +16,7 @@ public static boolean isNeon(int number) { int square = number * number; int digitSum = 0; while (square > 0) { - digitSum += square % 10; + digitSum = digitSum + square % 10; square /= 10; } return digitSum == number; From 4fbfca5046b82e96e8ae203bbf1bb379c798f28c Mon Sep 17 00:00:00 2001 From: AshishKumar1297 Date: Tue, 12 May 2026 15:15:44 +0530 Subject: [PATCH 6/8] Fix: proper formatting for clang --- .../com/thealgorithms/maths/NeonNumber.java | 11 ++++++----- .../thealgorithms/maths/NeonNumberTest.java | 19 ++++++++++--------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/thealgorithms/maths/NeonNumber.java b/src/main/java/com/thealgorithms/maths/NeonNumber.java index 1cecb7cd8c91..34cebeaedf54 100644 --- a/src/main/java/com/thealgorithms/maths/NeonNumber.java +++ b/src/main/java/com/thealgorithms/maths/NeonNumber.java @@ -3,7 +3,7 @@ /** * Neon Number algorithm. * A number whose sum of digits of its square equals the number itself. - * Example: 9^2=81⇒8+1=9 + * Example: 9 - 9^2 = 81 - 8+1 = 9 * * @see Wikipedia */ @@ -12,12 +12,13 @@ public class NeonNumber { private NeonNumber() { } - public static boolean isNeon(int number) { + public static boolean isNeon(final int number) { int square = number * number; int digitSum = 0; - while (square > 0) { - digitSum = digitSum + square % 10; - square /= 10; + int temp = square; + while (temp > 0) { + digitSum += temp % 10; + temp /= 10; } return digitSum == number; } diff --git a/src/test/java/com/thealgorithms/maths/NeonNumberTest.java b/src/test/java/com/thealgorithms/maths/NeonNumberTest.java index 7ca8d2828485..31e0ab7b9a8d 100644 --- a/src/test/java/com/thealgorithms/maths/NeonNumberTest.java +++ b/src/test/java/com/thealgorithms/maths/NeonNumberTest.java @@ -1,22 +1,23 @@ package com.thealgorithms.maths; -import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; public class NeonNumberTest { @Test - public void testIsNeonTrue(){ - assertTrue(NeonNumber.isNeon(9)); - assertTrue(NeonNumber.isNeon(1)); + public void testIsNeonTrue() { assertTrue(NeonNumber.isNeon(0)); + assertTrue(NeonNumber.isNeon(1)); + assertTrue(NeonNumber.isNeon(9)); } + @Test - public void testIsNeonFalse() - { + public void testIsNeonFalse() { + assertFalse(NeonNumber.isNeon(2)); assertFalse(NeonNumber.isNeon(5)); assertFalse(NeonNumber.isNeon(10)); - assertFalse(NeonNumber.isNeon(25)); } -} +} \ No newline at end of file From e8fc0482c37f0bd4f77aae79f5b16bb6b2e742a0 Mon Sep 17 00:00:00 2001 From: AshishKumar1297 Date: Tue, 12 May 2026 15:34:26 +0530 Subject: [PATCH 7/8] Add: NeonNumber algorithm with test --- .../java/com/thealgorithms/maths/NeonNumber.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/thealgorithms/maths/NeonNumber.java b/src/main/java/com/thealgorithms/maths/NeonNumber.java index 34cebeaedf54..10102d4a4c94 100644 --- a/src/main/java/com/thealgorithms/maths/NeonNumber.java +++ b/src/main/java/com/thealgorithms/maths/NeonNumber.java @@ -5,19 +5,26 @@ * A number whose sum of digits of its square equals the number itself. * Example: 9 - 9^2 = 81 - 8+1 = 9 * - * @see Wikipedia + * @see + * Wikipedia */ -public class NeonNumber { +public final class NeonNumber { private NeonNumber() { } + /** + * Check if a number is a Neon number. + * + * @param number the input number + * @return true if neon number, false otherwise + */ public static boolean isNeon(final int number) { int square = number * number; int digitSum = 0; int temp = square; while (temp > 0) { - digitSum += temp % 10; + digitSum = digitSum + temp % 10; temp /= 10; } return digitSum == number; From 5691cb78b07473c43837fbaf1dd1df37df89f103 Mon Sep 17 00:00:00 2001 From: AshishKumar1297 Date: Tue, 12 May 2026 15:47:08 +0530 Subject: [PATCH 8/8] Fix: add newline at end of files --- ashish-contribution | 0 src/main/java/com/thealgorithms/maths/NeonNumber.java | 2 +- src/test/java/com/thealgorithms/maths/NeonNumberTest.java | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 ashish-contribution diff --git a/ashish-contribution b/ashish-contribution new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/src/main/java/com/thealgorithms/maths/NeonNumber.java b/src/main/java/com/thealgorithms/maths/NeonNumber.java index 10102d4a4c94..8dc940d4aa2c 100644 --- a/src/main/java/com/thealgorithms/maths/NeonNumber.java +++ b/src/main/java/com/thealgorithms/maths/NeonNumber.java @@ -29,4 +29,4 @@ public static boolean isNeon(final int number) { } return digitSum == number; } -} \ No newline at end of file +} diff --git a/src/test/java/com/thealgorithms/maths/NeonNumberTest.java b/src/test/java/com/thealgorithms/maths/NeonNumberTest.java index 31e0ab7b9a8d..0200785e9ad4 100644 --- a/src/test/java/com/thealgorithms/maths/NeonNumberTest.java +++ b/src/test/java/com/thealgorithms/maths/NeonNumberTest.java @@ -20,4 +20,4 @@ public void testIsNeonFalse() { assertFalse(NeonNumber.isNeon(5)); assertFalse(NeonNumber.isNeon(10)); } -} \ No newline at end of file +}