DEV Community

Cover image for πŸš€ Day 25 of My Automation Journey – Prime Numbers, Reverse Logic & Loops
bala d kaveri
bala d kaveri

Posted on

πŸš€ Day 25 of My Automation Journey – Prime Numbers, Reverse Logic & Loops

Today, instead of just writing programs, I focused on understanding the β€œWHY” behind each logic. Let’s break everything down step by step πŸ‘‡


πŸ”Ή 1. Divisors Logic – Step-by-Step Understanding

πŸ’» Program:

int user = 15;
int i = 0;

while (i <= user) {
    if (i % user == 0)
        System.out.println(i);
    i++;
}
Enter fullscreen mode Exit fullscreen mode

🧠 Logic Explained:

  • i % user == 0 means:
    πŸ‘‰ β€œIs i divisible by user?”

  • Loop runs from 0 β†’ 15

Let’s trace:

i value i % 15 Condition
0 0 βœ… Print
1–14 Not 0 ❌ Skip
15 0 βœ… Print

πŸ“€ Output:

0
15
Enter fullscreen mode Exit fullscreen mode

⚠️ Important Insight:

πŸ‘‰ This program is actually finding multiples of 15 within range, NOT divisors.

βœ… Correct Divisor Logic should be:

if (user % i == 0)
Enter fullscreen mode Exit fullscreen mode

πŸ”Ή 2. Prime Number Logic – Deep Explanation

πŸ’» Program:

int user = 3;
boolean status = true;
int i = 2;

while(i < user) {
    if(user % i == 0) {
        status = false;
        break;
    }
    i++;
}

if (status==true)
    System.out.println("Prime");
else
    System.out.println("Not a prime");
Enter fullscreen mode Exit fullscreen mode

🧠 What is a Prime Number?

A number is prime if:

  • It has exactly 2 factors β†’ 1 and itself

πŸ” Step-by-Step Flow:

  • Start checking from i = 2
  • Why?
    πŸ‘‰ Because:

    • Dividing by 1 is always true
    • Dividing by itself is always true So we skip both

πŸ§ͺ Example: user = 3

i Condition (3 % i) Result
2 3 % 2 β‰  0 Continue

Loop ends β†’ No divisor found β†’ Prime βœ…


πŸ’‘ Why boolean status?

  • Acts like a flag
  • Initially assume β†’ true (prime)
  • If any divisor found β†’ false

⚑ Why break?

  • As soon as one divisor is found: πŸ‘‰ No need to continue checking πŸ‘‰ Improves performance πŸš€

πŸ”Ή 3. Reverse Number Logic – Deep Breakdown

πŸ’» Program:

int user = 123;
int reverse = 0;

while(user > 0) {
    int digit = user % 10;
    reverse = reverse * 10 + digit;
    user = user / 10;
}

System.out.println(reverse);
Enter fullscreen mode Exit fullscreen mode

🧠 Core Idea:

We:

  1. Extract last digit
  2. Append it to reverse
  3. Remove last digit

πŸ” Step-by-Step Execution:

Step user digit reverse calculation reverse
1 123 3 0*10 + 3 3
2 12 2 3*10 + 2 32
3 1 1 32*10 + 1 321

πŸ“€ Output:

321
Enter fullscreen mode Exit fullscreen mode

πŸ’‘ Key Formula:

reverse = reverse * 10 + digit
Enter fullscreen mode Exit fullscreen mode

πŸ‘‰ This shifts digits left and adds new digit


πŸ”Ή 4. While Loop vs For Loop – Conceptual Clarity


πŸ” While Loop

int i = 0;
while(i <= 10) {
    System.out.println(i);
    i++;
}
Enter fullscreen mode Exit fullscreen mode

🧠 Logic:

  • Initialization β†’ outside
  • Condition β†’ inside while
  • Increment β†’ manual

πŸ‘‰ Used when:

  • Iterations are unknown
  • Condition-based looping

πŸ” For Loop

for(int i = 0; i <= 10; i++) {
    System.out.println(i);
}
Enter fullscreen mode Exit fullscreen mode

🧠 Logic:

  • Everything in one line:

    • init, condition, increment

πŸ‘‰ Used when:

  • Iterations are known

πŸ“€ Output (Both):

0 1 2 3 4 5 6 7 8 9 10
Enter fullscreen mode Exit fullscreen mode

πŸ”Ή 5. Bonus Insight πŸ’‘

πŸ–₯️ Ctrl + Shift + I

  • Auto formats code
  • Improves readability
  • Saves time in debugging

πŸ”š Final Takeaways

βœ” % operator is key for divisibility logic
βœ” Prime = no divisors between 2 and n-1
βœ” Boolean is best for true/false conditions
βœ” Reverse logic = extract + rebuild
βœ” Loops = backbone of logic building


πŸ”₯ The more you trace step-by-step, the stronger your logic becomes!

Top comments (0)