pascal 分式求和 (fssum)分式求和 (fssum)【问题描述】给出形如直角三角形图形,下面的是n=4行的**********现在请你求出各行“*”的个数倒数之和.例如上面的是1/1+1/2+1/3+1/4=2 1/12【输入格式】输入文

来源:学生作业帮助网 编辑:作业帮 时间:2024/08/10 00:03:13
pascal 分式求和 (fssum)分式求和 (fssum)【问题描述】给出形如直角三角形图形,下面的是n=4行的**********现在请你求出各行“*”的个数倒数之和.例如上面的是1/1+1/2+1/3+1/4=2 1/12【输入格式】输入文
xT]OA+bJqn?hI &`mMʶ釾 Vl"PZ Qik$XJK n ޙ.Jզ9瞙N$=D oZ fUOmU1u6~j=U9֌2(bݞhѰ[VzhR V!B^h h~67X[8-q^zFnA Ak㥏Nf!kA;F>䟼oaN_CQص8;.pi ~1}83{hXÐ*9Pʨu}ա$^YլF\nn!sΤ; -'8-EphXOZ 74Q03W+¢/OOElvR4{Jv^ 'K &4:evs\9ؖcc4Aix#pެ]: v6t ߆k`[}uUa3ѰhnZ @`,Bb 8&"nԭ";Lj.#- ͫrNII@ t?)jXc)CCX2$A1O8DIZ":FֲNqgd^I& DO]CRq 67pٸ* bd˳J Rv6̩#t>' syN͇l"&œT61Fca;tSQ\yd$.ĨW%ιH$ ҳwB I )ATp) 9[ysd\((yD"AЍ=|l#:i6-SR p,

pascal 分式求和 (fssum)分式求和 (fssum)【问题描述】给出形如直角三角形图形,下面的是n=4行的**********现在请你求出各行“*”的个数倒数之和.例如上面的是1/1+1/2+1/3+1/4=2 1/12【输入格式】输入文
pascal 分式求和 (fssum)
分式求和
(fssum)
【问题描述】
给出形如直角三角形图形,下面的是n=4行的
*
**
***
****
现在请你求出各行“*”的个数倒数之和.
例如上面的是1/1+1/2+1/3+1/4=2 1/12
【输入格式】
输入文件fssum.in的包含一个正整数N,表示图形的行数.
【输出文件】
输出文件fssum.out是一个结果,表示倒数之和的分数最简形式.
【样例输入】
4
【样例输出】
2 1/12
【数据规模与约定】
对于20%的数据,有N≤10;
对于100%的数据,有N≤40.

pascal 分式求和 (fssum)分式求和 (fssum)【问题描述】给出形如直角三角形图形,下面的是n=4行的**********现在请你求出各行“*”的个数倒数之和.例如上面的是1/1+1/2+1/3+1/4=2 1/12【输入格式】输入文
为避免分子分母过大,超出32位整数范围,分数只能两个两个的加,并对每次的累加结果进行约分化简,尽量减小分子分母的数值.这种方法可以算出N=40时的结果为3 11844997/233901280.程序如下.
program fssum;
function GCD(a, b: Longint): Longint;
var
c: Longint;
begin
if a < b then
begin
c := a;
a := b;
b := c;
end;
while b 0 do
begin
c := a mod b;
a := b;
b := c;
end;
GCD := a;
end;
var
n, a, b, c, hcf, lcm, i: Longint;
begin
Assign(Input, 'fssum.in');
Reset(Input);
Readln(n);
Close(Input);
if n c then
begin
Inc(a, b div c);
b := b mod c;
end;
hcf := GCD(b, c);
b := b div hcf;
c := c div hcf;
end;
if b = c then
begin
Inc(a);
b := 0;
end;
Assign(Output, 'fssum.out');
Rewrite(Output);
Write(a);
if b 0 then Write(' ', b, '/', c);
Close(Output);end.