TwoTurtledoves
SRM 224 · 2004-12-22 · by vorthys
Problem Statement
I give my true love presents every day. On day 1, I give her one Type 1 present. On day 2, I give her two Type 2 presents, followed by one Type 1 present. On day 3, I give her three Type 3 presents, followed by two Type 2 presents, followed by one Type 1 present. This pattern continues day after day. Soon I begin to wonder, what type of present will be the 100th present that I give my true love? The 1000th? The 1000000th?
For example, the 10th present that I give my true love is the Type 1 present on day 3.
Write a method that takes an
Notes
- Unlike the poseur in the popular Christmas song, I do not stop giving my true love presents after the 12th day.
Constraints
- n is between 1 and 1000000000, inclusive.
10 Returns: 1
The example above.
12 Returns: 4
The second of four Type 4 presents on Day 4.
399 Returns: 11
123456 Returns: 65
1000000000 Returns: 1704
Submissions are judged against all 42 archived test cases, of which 5 are shown here. Case numbers match the judge’s.
Language: C++17 · define a public class TwoTurtledoves with a public method int presentType(int n) · 42 test cases · 2 s / 256 MB per case