f(x)=|x+1|+|x+2|+|x+3|+…+|x+19|,求最小值。

本文探讨了求解数学函数f(x)=|x+1|+|x+2|+...+|x+19|的最小值问题,通过观察和编程验证,发现函数在x=10时达到最小值,同时揭示了该函数的对称特性。

逛知乎看到西安交大的本科入学考试数学试卷的试题里有一道,f(x)=|x+1|+|x+2|+|x+3|+…+|x+19|,求最小值。
我的方法是在-1到-19之间找,写了x=-1,x=-2,x=-3情况后找出规律归纳了一个公式,
在[-1,-19]区间,f(x)=[(19+x)+1] (19+x)/2+[(-x-1)+1] (-x-1)/2,然后求导什么的,高中知识啦,取得在x=10时,f(x)最小。
然后,自己又写了一个程序……再次判断正确否(因为题太简单了,大佬说能妙解……,我不能,刚好生病了,想着自己写个很短的代码验证,就当放松了),结果也是一样的。

#include <stdio.h>
#include<math.h> 
int main()
{
  
int x=-1,sum=0,min=19*18/2,i,j;
for(i=-2;i>=-19;i--,sum=0)
{
	for(j=1;j<=19;j++)
	sum+=abs(i+j);
	if(sum<min)
	{
		min=sum;	
	    x=i;
	}
}
printf("%d",x);
    return 0;
}

写完时候想了想,大佬们难道想到的是对称?x为-20和0是f(x)值相等,-19和-1时f(x)值相等,难道这个函数图像真的是对称的……所以就取中间值?
欢迎大佬留言。
ps.是对称的,以后遇到,将首尾的绝对值框号里的参数相加,再除2,取得的数在带进原式子就可以得到最大值。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值