Problems — Level 0: Absolute Basics¶
এই folder-এ Level 0-এর 10টা problem-এর note থাকবে। প্রতিটা problem-এর জন্য আলাদা একটা
.mdfile — সেখানে থাকবে নিজের ভাষায় problem বোঝা, intuition, dry run, code, আর ভুল থেকে শেখা।
কীভাবে problem গুলো use করবে?¶
প্রতিটা problem-এর note লেখা হয় ../../../templates/math-problem-note-template.md follow করে — ২০টা section-এর একটা template, যেখানে problem বোঝা থেকে শুরু করে brute force → optimization → dry run → complexity → "ভবিষ্যতের আমাকে এক লাইনে কী বলব" পর্যন্ত সব ধাপ আছে। শুরুতে template-টা একবার পড়ে নাও — তাহলে বুঝবে একটা problem-কে কতগুলো দিক থেকে দেখা যায়।
নিয়মটা সহজ:
- Table থেকে একটা problem নাও (recommended order ../README.md-তে আছে)
- আগে নিজে খাতায় solve করার চেষ্টা করো — অন্তত 20-30 মিনিট
- তারপর note file বানাও/পড়ো, নিজের approach-এর সাথে মেলাও
- Solve হয়ে গেলে Status
plannedথেকেdoneকরে দাও
Tracker table¶
| # | Problem | Difficulty | Pattern | Inherits from | Source | Note file | Status |
|---|---|---|---|---|---|---|---|
| 001 | Even or Odd | Easy | parity / last bit | — | Classic exercise (related: CF 4A Watermelon — https://codeforces.com/problemset/problem/4/A) | 001-even-or-odd.md | done |
| 002 | Sum of Digits | Easy | digit extraction | 001 | Classic exercise | 002-sum-of-digits.md | done |
| 003 | Count Digits | Easy | digit extraction | 002 | Classic exercise | 003-count-digits.md | done |
| 004 | Reverse Number | Easy | number building | 002 | Classic (related: LeetCode Reverse Integer — https://leetcode.com/problems/reverse-integer/) | 004-reverse-number.md | planned |
| 005 | Palindrome Number | Easy | reverse + compare | 004 | LeetCode — https://leetcode.com/problems/palindrome-number/ | 005-palindrome-number.md | planned |
| 006 | Armstrong Number | Easy | digit power sum | 002 | Classic exercise | 006-armstrong-number.md | planned |
| 007 | Digital Root | Easy | repeated digit sum, mod 9 | 002 | Related: LeetCode Add Digits — https://leetcode.com/problems/add-digits/ | 007-digital-root.md | planned |
| 008 | Find Last Digit | Easy | mod 10 | 001 | Classic exercise | 008-find-last-digit.md | planned |
| 009 | Power of 10 Check | Easy | repeated division | 003 | Classic exercise | 009-power-of-10-check.md | planned |
| 010 | Number Pattern Printing | Easy | nested loops | — | Classic exercise (HackerRank-style warmup) | 010-number-pattern-printing.md | planned |
"Inherits from" column-টা কী?¶
প্রতিটা problem আগের কোনো problem-এর কাঁধে দাঁড়িয়ে আছে। যেমন 005 (Palindrome) আসলে 004 (Reverse)-এরই extension — reverse বানিয়ে original-এর সাথে মেলানো। কোনো problem-এ আটকে গেলে আগে তার "Inherits from" problem-টা আবার দেখো — অনেক সময় সেখানেই উত্তরের অর্ধেক লুকিয়ে থাকে।
001 (parity) ──> 008 (last digit)
│
002 (digit sum) ──> 003 (count) ──> 009 (power of 10)
│
├──> 004 (reverse) ──> 005 (palindrome)
├──> 006 (armstrong)
└──> 007 (digital root)
010 (pattern printing) — আলাদা শাখা, nested loop-এর হাতেখড়ি
একটা ছোট পরামর্শ¶
Easy problem দেখে "এটা তো পারিই" বলে skip কোরো না। এই level-এর লক্ষ্য সমাধান না — গতি আর নির্ভুলতা। Even or Odd ৩০ সেকেন্ডে bug-free লিখতে পারা, আর digit extraction loop চোখ বন্ধ করে dry run করতে পারা — এটাই এখানকার জয়। পরের level গুলোতে এই loop গুলোই বারবার ফিরবে, তখন এগুলো নিয়ে ভাবার সময় থাকবে না।
Concept ঝালাই করতে হলে → ../concept-notes.md। ছবি এঁকে বুঝতে চাইলে → [../visualization