PHP Program to Collatz Steps with Explanation
PHP
Medium
PHP Control Flow
21 views
1 min read
86 words
This problem helps you practice core PHP fundamentals in a practical way. It builds intuition around step, one, collatz. Let’s break it down step by step so you can implement it confidently.
Problem Statement
Starting from n, apply: if even n=n/2 else n=3n+1. Count steps to reach 1.
Input Format
One integer n.
Output Format
One integer steps.
Constraints
1
Code Solution
This explanation is written for learning purposes and to help beginners understand the concept clearly.
<?php
$inputText=trim(stream_get_contents(STDIN));
if($inputText==='') exit;
$n=intval($inputText);
$steps=0;
while($n!==1){
if(($n&1)===0) $n=intdiv($n,2);
else $n=$n*3+1;
$steps++;
}
echo $steps;
?>
Common Mistakes
- Misreading input/output format.
- Not handling constraints and edge cases.
- Off-by-one errors in loops.
- Forgetting to reset variables between test cases (if any).
Solution Guide
Problem
Starting from n, apply: if even n=n/2 else n=3n+1. Count steps to reach 1.
Input / Output
Output
One integer steps.
Details
Common Mistakes
- Misreading input/output format.
- Not handling constraints and edge cases.
- Off-by-one errors in loops.
- Forgetting to reset variables between test cases (if any).
Official Solution
<?php
$inputText=trim(stream_get_contents(STDIN));
if($inputText==='') exit;
$n=intval($inputText);
$steps=0;
while($n!==1){
if(($n&1)===0) $n=intdiv($n,2);
else $n=$n*3+1;
$steps++;
}
echo $steps;
?>
Solutions (0)
No solutions submitted yet. Be the first!