diff --git a/Calculators/Dudeney-Number-Calculator/README.md b/Calculators/Dudeney-Number-Calculator/README.md new file mode 100644 index 000000000..dec40de5b --- /dev/null +++ b/Calculators/Dudeney-Number-Calculator/README.md @@ -0,0 +1,20 @@ +#

Dudeney Number Calculator

+ +## Description :- + +This is a simple website that checks whether an entered number is a Dudeney number or not. + +## Tech Stacks :- + +- HTML +- CSS +- JavaScript + +## Features :- + +Displays a clear message indicating if the input is a Dudeney number or not.
+Handles queries for large numbers too + +## Screenshots :- + +![image](https://github.com/user-attachments/assets/df5b21e9-16d2-48f4-b3f3-c4dfa9919d0f) diff --git a/Calculators/Dudeney-Number-Calculator/assets/background.jpg b/Calculators/Dudeney-Number-Calculator/assets/background.jpg new file mode 100644 index 000000000..6cb19a3d1 Binary files /dev/null and b/Calculators/Dudeney-Number-Calculator/assets/background.jpg differ diff --git a/Calculators/Dudeney-Number-Calculator/index.html b/Calculators/Dudeney-Number-Calculator/index.html new file mode 100644 index 000000000..70fe4dc88 --- /dev/null +++ b/Calculators/Dudeney-Number-Calculator/index.html @@ -0,0 +1,23 @@ + + + + + + + Dudeney Number Calculator + + +
+
+

Dudeney Number Calculator

+

A Dudeney number is a positive integer that is a perfect cube, and the sum of its digits is equal to the cube root of the number

+
+
+ + +
+

+
+ + + diff --git a/Calculators/Dudeney-Number-Calculator/script.js b/Calculators/Dudeney-Number-Calculator/script.js new file mode 100644 index 000000000..8e43fea87 --- /dev/null +++ b/Calculators/Dudeney-Number-Calculator/script.js @@ -0,0 +1,42 @@ +const txtInput = document.querySelector(".inputs input"), +checkBtn = document.querySelector(".inputs button"), +infoTxt = document.querySelector(".info-txt"); +let filterInput; + +function isDudeneyNumber(num) { + // Find the cube root of the number + const cubeRoot = Math.cbrt(num); + + // Check if the cube root is an integer + if (!Number.isInteger(cubeRoot)) { + return false; + } + + // Sum the digits of the number + const sumOfDigits = num + .toString() + .split('') + .map(Number) + .reduce((acc, digit) => acc + digit, 0); + + // Check if the sum of digits equals the cube root + return sumOfDigits === cubeRoot; +} + +checkBtn.addEventListener("click", () => { + let reverseInput = filterInput.split("").reverse().join(""); + infoTxt.style.display = "block"; + if(!isDudeneyNumber(filterInput)) { + return infoTxt.innerHTML = `No, '${txtInput.value}' isn't a Dudeney Number!`; + } + infoTxt.innerHTML = `Yes, '${txtInput.value}' is a Dudeney Number!`; +}); + +txtInput.addEventListener("keyup", () => { + filterInput = txtInput.value.toLowerCase().replace(/[^A-Z0-9]/ig, ""); + if(filterInput) { + return checkBtn.classList.add("active"); + } + infoTxt.style.display = "none"; + checkBtn.classList.remove("active"); +}); \ No newline at end of file diff --git a/Calculators/Dudeney-Number-Calculator/style.css b/Calculators/Dudeney-Number-Calculator/style.css new file mode 100644 index 000000000..a69e366cd --- /dev/null +++ b/Calculators/Dudeney-Number-Calculator/style.css @@ -0,0 +1,150 @@ +@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap'); + +* { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: 'Poppins', sans-serif; +} + +body { + display: flex; + padding: 0 10px; + background-image: url("assets/background.jpg"); + align-items: center; + justify-content: center; + min-height: 100vh; + margin-top: 25px; + background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab); + background-size: 400% 400%; + animation: gradient 15s ease infinite; +} + +::selection { + color: #fff; + background: rgb(170, 87, 204, 0.8); +} + +.wrapper { + max-width: 500px; + background: #fff; + border-radius: 7px; + padding: 20px 25px 15px; + box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12); +} + +header h1 { + font-size: 27px; + font-weight: 500; +} + +header p { + margin-top: 5px; + font-size: 18px; + color: #474747; +} + +.inputs { + margin: 20px 0 27px; +} + +.inputs input { + width: 100%; + height: 60px; + outline: none; + padding: 0 17px; + font-size: 19px; + border-radius: 5px; + border: 1px solid #999; + transition: 0.1s ease; +} + +.inputs input::placeholder { + color: #999999; +} + +.inputs input:focus { + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.13); +} + +.inputs input:focus::placeholder { + color: #bebebe; +} + +.inputs button { + width: 100%; + height: 56px; + border: none; + opacity: 0.7; + outline: none; + color: #fff; + cursor: pointer; + font-size: 17px; + margin-top: 20px; + border-radius: 5px; + pointer-events: none; + background: #AA57CC; + transition: opacity 0.15s ease; + background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab); + background-size: 400% 400%; + animation: gradient 15s ease infinite; +} + +.inputs button.active { + opacity: 1; + pointer-events: auto; +} + +.info-txt { + display: none; + font-size: 19px; + text-align: center; + margin-bottom: 18px; +} + +.info-txt span { + color: #AA57CC; +} + +@media (max-width: 520px) { + .wrapper { + padding: 17px 20px 10px; + } + + header h1 { + font-size: 25px; + } + + header p { + font-size: 16px; + } + + .inputs input { + height: 54px; + font-size: 17px; + } + + .inputs button { + height: 50px; + font-size: 16px; + margin-top: 17px; + } + + .info-txt { + font-size: 18px; + } +} + +@keyframes gradient { + 0% { + background-position: 0% 50%; + } + + 50% { + background-position: 100% 50%; + } + + 100% { + background-position: 0% 50%; + } +} diff --git a/index.html b/index.html index bde76b7ce..089adfa99 100644 --- a/index.html +++ b/index.html @@ -1490,6 +1490,20 @@

Analyzes dream entries to visualize key themes, emotions, and sentiments. +
+
+

Dudeney Number Calculator

+

Checks if an entered number is Dudeney or not.

+ +
+

EBITDA Calculator