输入:自然数n
输出:一个从小到大的array,array中的元素是a^3+b^3, a和b在自然数[0,n]范围里
要求:时间复杂度O(n^2logn);
空间复杂度O(n)
输入:自然数n
输出:一个从小到大的array,array中的元素是a^3+b^3, a和b在自然数[0,n]范围里
要求:时间复杂度O(n^2logn);
空间复杂度O(n)
#include <stdio.h>
#include <stdlib.h>
int cmp(const void *a, const void *b)
{
return(*(int *)a - *(int *)b);
}
int main()
{
int n;
//scanf("%d", &n);
n = 10;
int* arr = (int *)malloc(n * sizeof(int));
int i = 0;
int x = 0, y = 0;
while (i < n)
{
arr[i] = x * x * x + y * y * y;
if (x == y) { x = 0; y++; } else x++;
i++;
}
// qsort(arr, n, sizeof(int), cmp); 似乎排序是多余的。
for (i = 0; i < n; i++) printf("%d ", arr[i]);
return 0;
}