UVA 10014 - Simple calculations(数学)

题目链接

难得的1A。想的时间有点长啊,精力集中不起来。

思路:本来是开始把  a1 a2 a3... an 全部用题目中的表达式给表示出来,想着肯定会全部消去吧,结果。。。还剩下个an,然后,没啥想法了。。想想,试试规律吧。把 n = 2 3 4 时候全部写出来了发现有规律啊。an 可以用a1和a0表示出来。。把an套到前一个推出来的公式去,然后,实现这个规律,又浪费一些时间。。。还好1A。

 1 #include <stdio.h>
 2 double c[5000];
 3 int main()
 4 {
 5     int i,j,t,m;
 6     double a0,an,sum1,sum2,ans;
 7     scanf("%d",&t);
 8     while(t--)
 9     {
10         sum1=sum2=0;
11         scanf("%d",&m);
12         scanf("%lf%lf",&a0,&an);
13         for(i = 1;i <= m;i ++)
14         {
15             scanf("%lf",&c[i]);
16             sum1 += c[i];
17         }
18         for(i = 1;i <= m;i ++)
19         {
20             sum2 += 2*(m - i)*c[i];
21         }
22         ans = m*a0 + an - 2*sum1 -sum2;
23         ans = ans/(m+1);
24         printf("%.2lf\n",ans);
25         if(t != 0)
26         printf("\n");
27     }
28     return 0;
29 }

 

 

转载于:https://www.cnblogs.com/naix-x/archive/2012/05/29/2524552.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值