示例#1
0
文件: answer04.c 项目: jwroble/ECE264
void partitionPrime(int value)
{
    printf("partitionPrime %d\n", value);
    int * buffer = malloc( value * sizeof(int));
    partition_prime(buffer, 0, value);
    free(buffer);
}
示例#2
0
void partitionPrime(int value)
{
  int * arr;
  
  printf("partitionPrime %d\n", value);
  arr = malloc(sizeof(int) * value);
  partition_prime(arr, 0, value);
  free (arr);
}
示例#3
0
文件: answer04.c 项目: jwroble/ECE264
void partition_prime(int * arr, int pos, int n)
{
        if(n == 0)
        {
                print_arr(arr, pos);
                return;
        }
        int i;
        for(i = 1; i<= n; i++)
        {
            if(i == 1 || (i > 2 && i % 2 == 0) || (i > 3 && i % 3 == 0) || (i > 5 && i % 5 == 0)|| (i > 7 && i % 7 == 0))
            {
                continue;
            }
                arr[pos] = i;
                partition_prime(arr, pos+1, n-i);
        }
}
示例#4
0
void partition_prime(int * arr, int index, int n)
{
  int test;
  int track = 0;

  if (n == 0)
    {
      printf("= ");
      printpartition(arr, index);
      return;
    }
  else
    {
      for (test = 1; test <= n; test++)
	{
	  track = check_prime(test);
	  if ((track <= 2) && (test != 1))
	    {
	      arr[index] = test;
	      partition_prime(arr, index + 1, n - test);
	    }
	}
    }
}