# Problems — Level 0: Absolute Basics

> এই folder-এ Level 0-এর 10টা problem-এর নোট আছে। প্রতিটা problem-এর জন্য আলাদা একটা `.md` file — সেখানে আছে নিজের ভাষায় problem বোঝা, intuition, dry run, code, আর ভুল থেকে শেখা।

## কীভাবে problem গুলো use করবে?

প্রতিটা problem-এর note লেখা হয় [../../../templates/math-problem-note-template.md](../../../templates/math-problem-note-template.md) follow করে — ২০টা section-এর একটা template, যেখানে problem বোঝা থেকে শুরু করে brute force → optimization → dry run → complexity → "ভবিষ্যতের আমাকে এক লাইনে কী বলব" পর্যন্ত সব ধাপ আছে। শুরুতে template-টা একবার পড়ে নাও — তাহলে বুঝবে একটা problem-কে কতগুলো দিক থেকে দেখা যায়।

নিয়মটা সহজ:

1. Table থেকে একটা problem নাও (recommended order [../README.md](../README.md)-তে আছে)
2. আগে নিজে খাতায় solve করার চেষ্টা করো — অন্তত 20-30 মিনিট
3. তারপর বিদ্যমান নোট পড়ো, নিজের approach-এর সাথে মেলাও
4. নিজের অগ্রগতি আলাদা করে চিহ্নিত করো; “নোট আছে” মানে এই সাইটে ব্যাখ্যা আছে, তুমি সমাধান করেছ—এমন দাবি নয়।

## Tracker table

| # | Problem | Difficulty | Pattern | Inherits from | Source | Note file | নোটের অবস্থা |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 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](001-even-or-odd.md) | নোট আছে |
| 002 | Sum of Digits | Easy | digit extraction | 001 | Classic exercise | [002-sum-of-digits.md](002-sum-of-digits.md) | নোট আছে |
| 003 | Count Digits | Easy | digit extraction | 002 | Classic exercise | [003-count-digits.md](003-count-digits.md) | নোট আছে |
| 004 | Reverse Number | Easy | number building | 002 | Classic (related: LeetCode Reverse Integer — <https://leetcode.com/problems/reverse-integer/>) | [004-reverse-number.md](004-reverse-number.md) | নোট আছে |
| 005 | Palindrome Number | Easy | reverse + compare | 004 | LeetCode — <https://leetcode.com/problems/palindrome-number/> | [005-palindrome-number.md](005-palindrome-number.md) | নোট আছে |
| 006 | Armstrong Number | Easy | digit power sum | 002 | Classic exercise | [006-armstrong-number.md](006-armstrong-number.md) | নোট আছে |
| 007 | Digital Root | Easy | repeated digit sum, mod 9 | 002 | Related: LeetCode Add Digits — <https://leetcode.com/problems/add-digits/> | [007-digital-root.md](007-digital-root.md) | নোট আছে |
| 008 | Find Last Digit | Easy | mod 10 | 001 | Classic exercise | [008-find-last-digit.md](008-find-last-digit.md) | নোট আছে |
| 009 | Power of 10 Check | Easy | repeated division | 003 | Classic exercise | [009-power-of-10-check.md](009-power-of-10-check.md) | নোট আছে |
| 010 | Number Pattern Printing | Easy | nested loops | — | Classic exercise (HackerRank-style warmup) | [010-number-pattern-printing.md](010-number-pattern-printing.md) | নোট আছে |

## "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](../concept-notes.md)। ছবি এঁকে বুঝতে চাইলে → [চিত্র ও হাতে-কলমে উদাহরণ](../visualization-ideas.md)।
