Output using println macro in Rust - Time & Space Complexity
We want to understand how the time it takes to print output changes as we print more lines.
How does the number of print statements affect the total time?
Analyze the time complexity of the following code snippet.
fn main() {
let n = 10; // example value for n
for i in 0..n {
println!("Line number: {}", i);
}
}
This code prints a line for each number from 0 up to n - 1.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: The loop runs and calls println! once per iteration.
- How many times: Exactly n times, where n is the input size.
Each additional line means one more print operation, so the total work grows steadily with n.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 10 print calls |
| 100 | 100 print calls |
| 1000 | 1000 print calls |
Pattern observation: The total time grows directly in proportion to the number of lines printed.
Time Complexity: O(n)
This means the time to print grows in a straight line as you print more lines.
[X] Wrong: "Printing many lines takes the same time as printing just one line."
[OK] Correct: Each print call takes time, so more lines mean more total time.
Understanding how output operations scale helps you reason about program speed and efficiency in real tasks.
"What if we replaced println! with a function that prints two lines per iteration? How would the time complexity change?"
Practice
println! macro do in Rust?Solution
Step 1: Understand the purpose of
Theprintln!println!macro is used to show messages or values on the screen, adding a new line after printing.Step 2: Compare with other options
Reading input, creating variables, or stopping the program are not tasks ofprintln!.Final Answer:
Prints text or values to the screen with a new line -> Option BQuick Check:
println!prints output [OK]
- Confusing println! with input functions
- Thinking println! creates variables
- Assuming println! stops the program
println! in Rust?Solution
Step 1: Understand how to print values with placeholders
To print a number usingprintln!with a placeholder, use{}inside the string and pass the value after the comma.Step 2: Check each option
println!("5"); prints the string "5" literally, println!(5); is invalid syntax, println!("number: 5"); prints a fixed string without using a placeholder. println!("{}", 5); correctly uses{}to print the number 5.Final Answer:
println!("{}", 5); -> Option AQuick Check:
Use curly braces {} for values [OK]
- Trying to print numbers without quotes or placeholders
- Forgetting the comma between string and value
- Using invalid syntax without quotes
let x = 10;
println!("Value: {}", x);Solution
Step 1: Identify the variable and placeholder
The variablexholds the value 10. Theprintln!uses{}to insert the value ofx.Step 2: Understand the output format
The output will replace{}with 10, printing "Value: 10" exactly.Final Answer:
Value: 10 -> Option AQuick Check:
Placeholder {} shows variable value [OK]
- Printing the variable name instead of its value
- Printing the placeholder literally
- Omitting the variable in println!
let name = "Alice";
println!("Hello, name!");Solution
Step 1: Check how the variable is used in println!
The code prints the string "Hello, name!" literally because it lacks curly braces to insert the variablename.Step 2: Identify the fix
To print the value ofname, use{}inside the string and passnameafter the comma.Final Answer:
Missing curly braces to print variable value -> Option DQuick Check:
Use {} to insert variables in println! [OK]
- Forgetting curly braces around variable
- Not passing variable after the string
- Assuming variable prints without placeholders
"Temperature is 23°C" using println!. Which code correctly prints this message including the degree symbol?Solution
Step 1: Understand how to print special Unicode characters
The degree symbol (°) can be printed using Unicode escape\u{00B0}in Rust strings.Step 2: Check each option for correctness
println!("Temperature is 23\u{00B0}C"); uses the correct Unicode escape. println!("Temperature is 23C"); does not include the degree symbol. println!("Temperature is 23\degree C"); uses an invalid escape. println!("Temperature is 23\xB0C"); uses a hex escape which is incorrect for Unicode in Rust strings.Final Answer:
println!("Temperature is 23\u{00B0}C"); -> Option CQuick Check:
Use \u{XXXX} for Unicode chars in Rust strings [OK]
- Using invalid escape sequences
- Assuming special characters print without escapes
- Confusing hex and Unicode escapes
Ready to prove it?
Pass the test and this pattern moves unknown
