Canadian Computing Competition: 2010 Stage 1, Junior #1
Natalie is learning to count on her fingers. When her Daddy tells her a number (), she asks "What is , Daddy?", by which she means "How many fingers should I hold up on each hand so that the total is ?"
To make matters simple, her Daddy gives her the correct finger representation according to the following rules:
- the number may be represented on one or two hands;
- if the number is represented on two hands, the larger number is given first.
For example, if Natalie asks "What is , Daddy?", her Dad may reply:
- is .
- is and .
- is and .
Your job is to make sure that Natalie's Daddy gives the correct number of answers.
Input Specification
The input will be a single integer such that .
Output Specification
The output is the number of ways of producing that number on two hands, subject to the rules outlined above.
Sample Input
4
Output for Sample Input
3
Comments
brute force goes wild:
please use an array
Since the original data were weak, an additional test case was added (that seems to have been omitted), and all submissions were rejudged.
cant believe they forgot one of the ten cases
Does anyone else think they're overcomplicating this?
yes bruh, im currently trying to find a better solution that is less than 70 lines of code lmao
Did i just do a bunch of if else statements? maybe. Did I get 100%? yes.
not else if but just if because each condition in this case does not rely on the result of the other. but yea all that matters is the output ig but try to find a more efficient solution as that mindset would help on the senior contest
fax
Can anyone check my solution? Is there any other (maybe mathematical) way to solve this?
If you're looking for more mathematical solution try thinking about the same problem but make the number of fingers also a parameter. Instead of it being 5 and make .
Could not figure out what I was doing wrong then I remembered we have only 5 fingers.
Oh darn I thought I had 40.
wait hold on the example says 3, what does 3 mean
3 is the number of ways to show 4.
4 is 4 is one way.
4 is 3 and 1 is another.
4 is 2 and 2 is the last one, because saying 4 is 1 and 3 would be the same as saying 4 is 3 and 1. Same goes with 4 is 0 and 4.
EDIT:
Yes CarolChen that is helpful.
CarolChen that's a very helpful hint, thanks