コード例 #1
0
ファイル: answer06.c プロジェクト: zperlmut/ECE264solutions
void partitionEvenHelper(int budget, int *partition, int pos)
{
  //BASE CASE!!!
  if (budget <= 0){
    printpartition(partition, pos);
    return;
  }  

  //INDUCTIVE CASE!!!!!
  int spending;
  for(spending = 2; spending <= budget ; spending += 2){
    partition[pos] = spending;
    partitionEvenHelper(budget - spending, partition, pos + 1);
  }
}
コード例 #2
0
ファイル: answer06.c プロジェクト: loupeters/schoolProjects
void partitionEvenHelper(int N, int * partition, int pos)
{
	//BASE CASE	
	if(N == 0)
	{
	printPartition(partition, pos);
	return;
	}
	//INDUCTIVE CASE
	int i;
	for(i = 2; i <= N; i+= 2)
	{
	partition[pos] = i;
	partitionEvenHelper(N - i, partition, pos + 1);
	}
}
コード例 #3
0
ファイル: answer06.c プロジェクト: loupeters/schoolProjects
void partitionEven(int value)
{
	int *partition = malloc(sizeof(int) * value);
	partitionEvenHelper(value, partition, 0);
	free(partition);
}