刑侦辅警先进个人事迹:问你们一道题

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/06 02:28:16
A=1000
B=A x 0.02 + 5 + A
C=B x 0.02 + 5 + B
D=C x 0.02 + 5 + C……
如果要这样加二十次,即A+B+C+D+……+S+T,这20个字母相加的结果是什么?最重要的是方法(方法说得不要太复杂,最好要容易明白且简练)
麻烦大家了。

a=1000
b=a/50+5+a=a(1+1/50)+5
..........
先不考虑5
可以发现里面的规律
设X1=1000
X2=1000*(51/50)
X3=1000*(51/50)*(51/50)=1000*(51/50)^2
Xn=1000*(51/50)^n-1

X1+X2+.....Xn=1000*[1+(51/50)+(51/50)^2+....(51/50)^19]
大家都知道
(a+b)^n=a^n+a^(n-1)*b+.....+a*b(n-1)^+b^n
设a=1,b=51/50
那么式子就可以化简为
1000*[(1+51/50)^19]=1000*(101/50)^19
最后再把19个5加上
那么结果就是1000*(101/50)^19+19*5
用计算器就得出答案了

原理是这样。楼主给加点分,打得好辛苦

program sumatomaxn;
const
maxn = 20;
ouf = 'output.txt';
var i0:integer;
a:array[1..maxn]of real;
function work(x:real):real;
var i : integer;
begin
work := x * 0.02 + 5 + x;
end;

begin
fillchar(a,sizeof(a),0)
a[1] := 1000;
for i0 := 2 to maxn do
a[i0] := work(a[i - 1]);
sum := 0;
for i0 := 1 to maxn do
inc(sum , a[i0]);
assign(output , ouf);rewrite(output);
writeln(a[i0]:0:4);
close(output);
end.

编一个简单的程序就行了