Solution 3: Print a Right-Angled Triangle
fn test(n:i32) {
// define a nested for loop
for i in 0..n { //outer loop
for j in 0..i + 1 { // inner loop
print!("&");
}
println!("");
}
}
fn main(){
println!("Right angled triangle when n = 5 ");
test(5);
println!("Right angled triangle when n = 6 ");
test(6);
}
output
Right angled triangle when n = 5
&
&&
&&&
&&&&
&&&&&
Right angled triangle when n = 6
&
&&
&&&
&&&&
&&&&&
&&&&&&
Explanation
The value n
is given to you for which the right-angled triangle needs to be printed.
-
nested for loop
- On line 3, in the outer for loop
- An iterator i iterates over the range 0 to n.
- On line 4, for each i, within the inner for loop, an iterator j iterates over the range 0 to i + 1
- In each iteration, it prints the character & within the print! macro on line 5.
- When j equals i+1, the inner loop breaks and the control goes to outer for loop.
- When the inner for loop terminates println!(“”) appends a new line.
- When the value of i equals n, the outer loop terminates.
- The output is a right-angled triangle.
- On line 3, in the outer for loop
i | j | output |
---|---|---|
1 | 1 | & && &&& &&&& &&&&& |
2 | 1 2 | && |
3 | 1 2 3 | &&& |
4 | 1 2 3 4 | &&&& |
5 | 1 2 3 4 5 | &&&&& |