Math 给定;";查找p&;q使得p+;q=N,p*q为最大值
我需要我提出的粗略解决方案背后的逻辑/想法 问题是: 给定N,其中Math 给定;";查找p&;q使得p+;q=N,p*q为最大值,math,Math,我需要我提出的粗略解决方案背后的逻辑/想法 问题是: 给定N,其中1Let 然后: 由于f'(p)
1Let
然后:
由于f'(p)<0
,简单地求解f'(p)=0
就得到了一个局部极大值
您还需要测试端点f(0)
和f(N)
,但这两个端点的值都为零,因此我们的最大值是全局最大值
注:这基本上是说,在一定周长的所有矩形中,正方形的面积最大。
然后:
由于f'(p)<0
,简单地求解f'(p)=0
就得到了一个局部极大值
您还需要测试端点f(0)
和f(N)
,但这两个端点的值都为零,因此我们的最大值是全局最大值
注:这基本上是说,在一定周长的所有矩形中,正方形的面积最大。
然后:
由于f'(p)<0
,简单地求解f'(p)=0
就得到了一个局部极大值
您还需要测试端点f(0)
和f(N)
,但这两个端点的值都为零,因此我们的最大值是全局最大值
注:这基本上是说,在一定周长的所有矩形中,正方形的面积最大。
然后:
由于f'(p)<0
,简单地求解f'(p)=0
就得到了一个局部极大值
您还需要测试端点f(0)
和f(N)
,但这两个端点的值都为零,因此我们的最大值是全局最大值
注:这基本上是说,在一定周长的所有矩形中,正方形的面积最大。这不是一个数学问题,不是一个编程问题吗?这个问题似乎离题了,因为它是一个数学问题,不是一个编程问题。虽然这个问题可能包含代码,这个问题的本质似乎是离题的,因为它是关于。提示:计算出p*(N-p)
与p
的区别,然后找到它的根,然后你会找到局部最大值和最小值的解。这不是一个数学问题吗,非编程问题?此问题似乎离题,因为它是一个数学问题,而不是编程问题。虽然问题可能包含代码,但问题的本质似乎离题,因为它是关于。提示:计算出p*(N-p)
与p
的区别,然后找到它的根,然后你会找到局部最大值和最小值将给你答案的位置。这不是一个数学问题,不是一个编程问题吗?这个问题似乎离题了,因为它是一个数学问题,不是一个编程问题。虽然这个问题可能包含代码,这个问题的本质似乎是离题的,因为它是关于。提示:计算出p*(N-p)
与p
的区别,然后找到它的根,然后你会找到局部最大值和最小值的解。这不是一个数学问题吗,非编程问题?此问题似乎离题,因为它是一个数学问题,而不是编程问题。虽然问题可能包含代码,但问题的本质似乎离题,因为它是关于。提示:计算出p*(N-p)
与p
的区别,然后找到它的根,然后你会找到局部的最大值和最小值,会给你答案。
#include<stdio.h>
typedef unsigned long uint;
unsigned long calc(uint);
int main(void) {
short i = 0;
uint k = 0;
scanf("%i", &i);
while(i--) {
scanf("%lu", &k);
printf("%lu\n", calc(k));
}
return 0;
}
uint calc(uint k){
return (((k+1)/2)*((k/2)));
}
f(p) = p * (N - p) = p * N - p ^ 2
f'(p) = N - 2 * p
f''(p) = - 2
When f'(p) = 0,
p = N / 2
=> q = N / 2