| Line 3: | Line 3: | ||
=Notes On Blockus= | =Notes On Blockus= | ||
| + | Part 1 | ||
| + | Review Recursion | ||
| + | int fib(nit n) { | ||
| + | If (n==0) return 0; | ||
| + | If(n==1) return 1; | ||
| + | Return fin(n-1)+fib(n-2); | ||
| + | } | ||
| + | |||
| + | How many ways can you split 3 into different ways? | ||
| + | 3 | ||
| + | 1 2 | ||
| + | 2 1 | ||
| + | 1 1 1 | ||
| + | |||
| + | For any number n be about to generate all the possible types. | ||
| + | |||
| + | . = uncertain numbers | ||
| + | |||
| + | 4 | ||
| + | 2 . . (two possible numbers to pick 1 or 2) | ||
| + | 1. (one possible number left the pick 1) | ||
| + | 1 | ||
| + | |||
| + | Think of it as a budget | ||
| + | Can always spend 1 to n | ||
| + | USE A FOR LOOP | ||
| + | |||
| + | For nit partition of 7 | ||
| + | 4 … | ||
| + | 1.. | ||
| + | 2. | ||
| + | 1. | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | //BUDGET COUNT IDEAS | ||
| + | |||
| + | void int p (int n) | ||
| + | { | ||
| + | int p; | ||
| + | if(n <= 0) return; | ||
| + | for (i = 1; i <= n; i++) | ||
| + | { | ||
| + | int p( n -i); | ||
| + | } | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | void int p2 (int [] pout, int curr, int n) | ||
| + | { | ||
| + | int i; | ||
| + | |||
| + | if(n ==0) | ||
| + | { | ||
| + | |||
| + | for(i = 0; i < curr; i++) | ||
| + | { | ||
| + | printf("%d", pout[1] | ||
| + | } | ||
| + | |||
| + | printf("\n")l | ||
| + | return; | ||
| + | } | ||
| + | |||
| + | for (i = 0; i <= n; i++) { | ||
| + | pout [curr] = n -1; | ||
| + | int p2 (pout, curr +1, i); | ||
| + | } | ||
| + | |||
| + | } | ||
| − | |||
Latest revision as of 05:39, 7 April 2011
Notes On Blockus
Part 1
Review Recursion int fib(nit n) {
If (n==0) return 0; If(n==1) return 1; Return fin(n-1)+fib(n-2);
}
How many ways can you split 3 into different ways? 3 1 2 2 1 1 1 1
For any number n be about to generate all the possible types.
. = uncertain numbers
4 2 . . (two possible numbers to pick 1 or 2) 1. (one possible number left the pick 1) 1
Think of it as a budget Can always spend 1 to n USE A FOR LOOP
For nit partition of 7 4 … 1.. 2. 1.
//BUDGET COUNT IDEAS
void int p (int n) {
int p; if(n <= 0) return; for (i = 1; i <= n; i++)
{
int p( n -i);
}
void int p2 (int [] pout, int curr, int n)
{
int i;
if(n ==0)
{
for(i = 0; i < curr; i++)
{
printf("%d", pout[1]
}
printf("\n")l
return;
}
for (i = 0; i <= n; i++) {
pout [curr] = n -1;
int p2 (pout, curr +1, i);
}
}
