+ Your score: {Math.round(timer * 10) / 10} seconds
+
+ {highScore === Math.round(timer * 10) / 10 && (
+
+ New High Score! 🏆
+
+ )}
+
+ )}
+
+
+
+
+ {/* Information about Zeckendorf representation */}
+
+
About Zeckendorf Representation
+
+ Every positive integer can be uniquely represented as a sum of Fibonacci numbers,
+ where no two consecutive Fibonacci numbers are used. This is called the Zeckendorf representation.
+
+
+
+ {showSocialShare && (
+
+ )}
+
+ );
+};
+
+export default ZeckendorfGame;
\ No newline at end of file
diff --git a/src/pages/ZeckendorfGamePage.tsx b/src/pages/ZeckendorfGamePage.tsx
new file mode 100644
index 0000000..130ecfa
--- /dev/null
+++ b/src/pages/ZeckendorfGamePage.tsx
@@ -0,0 +1,13 @@
+import ZeckendorfGame from '@/components/ZeckendorfGame';
+
+const ZeckendorfGamePage = () => {
+ return (
+
+
+
+
+
+ );
+};
+
+export default ZeckendorfGamePage;
\ No newline at end of file
diff --git a/src/pages/theme-pages/discrete-math/Foundations.tsx b/src/pages/theme-pages/discrete-math/Foundations.tsx
index 15f90bf..5f40fe1 100644
--- a/src/pages/theme-pages/discrete-math/Foundations.tsx
+++ b/src/pages/theme-pages/discrete-math/Foundations.tsx
@@ -6,6 +6,7 @@ import InteractiveCard from "@/components/InteractiveCard";
import BinaryNumberGame from "@/components/BinaryNumberGame";
import TernaryNumberGame from "@/components/TernaryNumberGame";
import BalancedTernaryGame from "@/components/BalancedTernaryGame";
+import ZeckendorfGame from "@/components/ZeckendorfGame";
interface Interactive {
id: string;
title: string;
@@ -35,6 +36,13 @@ const interactives: Interactive[] = [{
tags: ["balanced-ternary", "numbers", "conversion", "representation", "base-3", "signed-digits"],
component: BalancedTernaryGame,
greenScreenPath: "/balanced-ternary-game"
+}, {
+ id: "zeckendorf-game",
+ title: "Zeckendorf Representation",
+ description: "Learn how numbers are represented using Fibonacci numbers with the unique Zeckendorf representation (no consecutive Fibonacci numbers).",
+ tags: ["fibonacci", "numbers", "representation", "zeckendorf", "combinatorics"],
+ component: ZeckendorfGame,
+ greenScreenPath: "/discrete-math/foundations/zeckendorf"
}];
const Foundations = () => {
const [searchTerm, setSearchTerm] = useState("");