导航:首页 > 源码编译 > 埃及分数算法

埃及分数算法

发布时间:2022-04-21 17:21:34

① 分数与分数相乘怎么算

分数与分数相乘时,分数的分子与分子相乘,分母与分母相乘,能约分的要先约分。

做第一步时,就要想一个数的分子和另一个分母能不能约分。分数与整数相乘就是把多个同样的数叠加。.

例如:2/8×5/6首先第一个乘数先约分,是1/4,2/8×5/6就是1/4×5/6=5/24。

分数与整数相乘就是把多个同样的数叠加,如⅔X2,就是指2个⅔相加,⅔X10是指10个⅔相加。若是整数乘分数的话:整数就乘与分子,不能和分母乘(整数和分母可以约分就约分)。

(1)埃及分数算法扩展阅读:

分数乘整数的意义与整数乘法的意义相同,就是求几个相同加数的和的简便运算。一个数与分数相乘,可以看作是求这个数的几分之几是多少。

分数的加减法计算:

1、同分母分数相加减,分母不变,即分数单位不变,分子相加减,能约分的要约分。

2.异分母分数相加减,先通分,即运用分数的基本性质将异分母分数转化为同分母分数,改变其分数单位而大小不变,再按同分母分数相加减法去计算,最后能约分的要约分。

最早的分数是整数倒数:代表二分之一的古代符号,三分之一,四分之一,等等。埃及人使用埃及分数c。 1000 bc。大约4000年前,埃及人用分数略有不同的方法分开。他们使用最小公倍数与单位分数。他们的方法给出了与现代方法相同的答案。

埃及人对于Akhmim木片和二代数学纸莎草的问题也有不同的表示法。希腊人使用单位分数和(后)持续分数。希腊哲学家毕达哥拉斯(c。530 bc)的追随者发现,两个平方根不能表示为整数的一部分。

② 埃及是世界上四大文明古国之一,早在2000多年前,埃及人就发现了分数。他们把分数化为分子是1的分数来计算

等于1/127。
首先你这个题不怎么对呢。你的题是大概是这样的,1/16+1/2+1/4+1/8+1/16等于多少。
但是古代埃及人是把分子大于1的正分数表示成单位分数的和。例:1/4+1/4+1/6=2/3
总而言之就是能化简成分子等于1的正分数就不能讲说是埃及分数的和

③ 古埃及人如何进行分数计算

埃及同中国一样,也是世界上着名的文明古国。人们在考察古埃及历史时注意到象阿基米德这样的数学巨匠,居然也研究过埃及分数。本世纪一些最伟大的数学家也研究埃及分数,例如,沃而夫数学奖得主,保罗-欧德斯,他提出了着名的猜想 4/n=1/x+1/y+1/z. 难倒了世界上第一流的数学家。当9个面包要平均分给 10个人的时候,古埃及人不知道每个人可以取得 9/10,而是说每人1/3+1/4+1/5+1/12+1/30。真叫人难以想象,你连9/10都搞不清楚,怎么知道9/10=1/3+1/4+1/5+1/12+1/30。所以几千年来,数学史家一直坚持认为,古埃及人不会使用分数。
1858年,苏格兰考古学家莱登买到了一份古埃及草纸文件,经过鉴定这是繁生于尼罗河泛滥形成的池塘和沼泽地里的草制成的纸,成文年代约在公元前1700年。
那么,古埃及的人们,是怎么算的呢?首先,把 2 个物品分成 4 个 1/2,先给每个人 1 个 1/2,剩下的 1 个1/2 再分成 3 等分,均分结果,每人分到 1/2 加 1/2 的 1/3,也就是 1/2 + 1/6 = 2/3。这份至今保存在大英博物馆的“莱登”草纸,用很大的篇幅记载着将真分数分解成单分子分数,这种运算方式,遭到现代数学家们纷纷责难,认为埃及人之所以未能把算术和代数发展到较高水平,其分数运算之繁杂也是原因之一。

埃及金字塔是举世闻名的,表明古埃及人具有高超的建筑技巧和超凡的智力,难道最简单的现代分数也不懂?金字塔所蕴含的难道是一篇粗劣的作品?
现代数学已经发展到十分抽象和复杂的程度,而埃及分数却是这样粗糙,在人们的记忆里早该烟消云散了,然而,它产生的问题直到今天仍然引起人们的重视。
四川大学已故老校长柯召写道:“埃及分数所产生的问题有的已成为至今尚未解决的难题和猜想,他们难住了许多当代数学家”。柯召本人至死都没有能够证明这个猜想。
一个古老的传说是:
老人弥留之际,将家中11匹马分给3个儿子,老大1/2,老二1/4,老三1/6。二分之一是5匹半马,总不能把马杀了吧,正在无奈之际,邻居把自己家的马牵来,老大二分之一,牵走了6匹;老二四分之一,牵走了3匹;老三六分之一,牵走了2匹。一共11匹,分完后,邻居把自己的马牵了回去。即11/12=1/2+1/4+1/6。
奇妙的埃及分数终于调动自己的潜在难度击败了敢于轻视他们的人们。并且给与嘲笑他的人以难堪的回答。

两千多年后的数学家终于发现:2/n=1/[(n+1)/2]+1/[(n+1)n/2]; 1/n=1/(n+1)+1/[n(n+1)];1=1/2+1/3+1/6。此时才大梦初醒。埃及分数以旺盛的生命力屹立在世界数坛,使三千年后的数学家也自叹弗如。例如,分马问题,能否设计出(n-1)/n=1/x+1/y+1/z .。经过2000多年的努力,终于揭开其中的噢秘:有6种可能,共7种分法。7/8=1/2+1/4+1/8;11/12=1/2+1/4+1/6=1/2+1/3+1/12;17/18=1/2+1/3+1/9;19/20=1/2+1/4+1/5;23/24=1/2+1/3+1/8;41/42=1/2+1/3+1/7。原先人们以为,这样的情况大概有无穷多个,可是,继续追击却一无所获,真是难以预料。黑龙江的关春河发现共有43种情况。这是正确的。
求解过程
当限定分母为奇数时,把“1”分解为埃及分数,项数限定为9项,共有5组解:
1=1/3+1/5+1/7+1/9+1/11+1/15+1/35+1/45+1/231。
1=1/3+1/5+1/7+1/9+1/11+1/15+1/21+1/135+1/10395。
1=1/3+1/5+1/7+1/9+1/11+1/15+1/21+1/165+1/693。
1=1/3+1/5+1/7+1/9+1/11+1/15+1/21+1/231+1/315。
1=1/3+1/5+1/7+1/9+1/11+1/15+1/33+1/45+1/385。
以上5组解是在1976年才找到。限定为11项时,发现了1组解 最小分母是105。若大于105则有很多的解。
1/n型分数还可以表示成为级数分解式:
1/n=1/(n+1)+1/(n+1)^2+1/(n+1)^3+1/(n+1)^4+....+1/(n+1)^k+1/n(n+1)^k.
埃及分数成为不定方程中一颗耀眼的明珠。
埃及分数最着名的猜想是Erods猜想:1950年Erods猜想,对于n〉1的正整数,
总有:
4/n=1/x+1/y+1/z. (1)
其中,x,y,z。都是正整数。
Stralss进一步猜想,当n≥2时,方程的解x,y,z满足x≠y,y≠z,z≠x。x〈y〈z。
1963年柯召,孙奇,张先觉证明了Erods猜想stralss猜想等价。几年后yamanot又把结果发展到10的7次方。以后一些数学家又把结果推向前去,始终未获根本解决。对于4/n=1/x+1/y+1/z,只需要考虑n=p为素数的情况,因为若(1)式成立,则对于任何整数m,m<1,
4/pm=1/xm+1/ym+1/zm,(2)
也成立。
一切奇素数都可以表示为4R+1与4R+3型。对于p=4R+3型,(参见《单位分数》人民教育出版社1962年):(1)式是显然的。
2002年王晓明提出:
如果设X=AB,Y=AC,Z=ABCP,
即:
4/P=1/AB+1/AC+1/ABCP.(3)
对于p=4R+3型,(3)式是显然的。
因为这时A=(p+1)/4 ,B=1。C=P+1.。
即:
4 /P = { 1/ [(P+1)/4] } + { 1 / [(P+1)(p+1)/4] } + { 1/ [p(p+1)(p+1)/4] }。 (4)
例如:4/7=1/2+1/16+1/112
对于p=4R+1 型的素数,把(3)式整理成 :
4ABC=PC+PB+1 (5)
A = (PC+PB+1)/4BC (6)
在(6)式中,若要 B|(PC+PB+1),需使得B|(PC+1),设PC+1=TB;若要C|(PC+PB+1),需使得C|(PB+1),设PB+1=SC;对于P=4R+1形,若要4|p(C+B)+1],需C+B=4K-1,对于P=4R+3形,若要4|[P(C+B)+1],需C+B=4K+1。于是,形成一个二元一次不定方程组:
-PC+TB=1 (7)
SC+(-P)B=1 (8)
例如p=17时,A=3,B=2,C=5,T=43,S=7,k=2 。
4 /17=[1/(2×3)]+[1/(3×5)]+[1/(3×2×5×17 )]
即4/17=1/6+1 /15+1/510.
等价于下面的式子:
(-17)×5+43×2=1
7×5+(-17)×2=1
注意:P=(4ABC-1)/(B+C). (9)
由于4ABC-1是4R+3型,所以,当P=4R+1型时,B+C=4K-1型;P=4R+3,B+C=4K+1型。.
因为对于二元一次不定方程组,我们有得是办法。根据《代数学辞典》上海教育出版社1985年(376页):“
方程组:ax+by=c
a'x+b'y=c'
公共解(整数解)x,y的充分必要条件是(ab'-a'b)不等于0,并且 (ab'-a'b) | (bc'-b'c) 和 (ab'-a'b) | (ca'-c'a)。”
我们把(7)(8)式的C与B当成上面的x,y. 在(7)式中,只要(P,T)=1;就有无穷多组B和C整数解;在(7)中,只要(P,S)=1,就有B和C的整数解。根据已知的定理(柯召,孙奇《谈谈不定方程》)13 至17页,联立二元一次不定方程,就知道(7)(8)式必然有公共整数解(用到矩阵,单位模变换等知识)。即ST-P×P≠0,(ST-P×P) | (P+T); (ST-P×P) | (P+S)。为什么说是必然有解,只要有一个素数有解,其它素数必然有解。在中国象棋中,“马”从起点可以跳到所有的点,那么,马在任何一个点就可以跳到任何点。因为马可以从任何一个点退回的起点。
下面是一些p值的解:
--p---|---A---|---B---|----C-----|------T-----|------S-------|-------K-----|
------------------------------------------------------------------------------|
--5---|--2----|---1----|---2------|-----11-----|----3---------|------1------|
-29--|---2----|---4----|---39----|----283----|----3---------|------11-----|
-37--|---2----|---5----|--62-----|---459-----|----3---------|-------17----|
-53--|---2----|---7----|--124----|---939-----|----3--------|-------33----|
-61--|---2----|---8----|--163----|---1243----|----3--------|-------43----|
-173-|--2----|----22--|--1269---|--9979----|----3--------|------323----|
-----------------------------------------------------------------------------------------
以上是P=4R+1,R为奇数时的解,此时,A=2;S=3。
---------------------------------------------------------------------------------
-17--|--3-----|---2----|-----5------|----43-----|-----7--------|-----2-------|
-41--|--12----|---1----|----6-------|---247----|----7---------|-----2-------|
-41--|--6------|---3----|----4-------|---55-----|-----31-------|-----2-------|
-73--|---10----|---2----|---21------|----767--|-----7---------|-----6-------|
- 97--|---17---|---2----|----5-------|---243---|----39--------|-----2-------|
-113-|--5------|---6----|---97------|--1827---|----7---------|----26-------|
-409-|--59-----|---2---|----13------|--2659---|----63-------|----4--------|
-409-|--22-----|---5---|-----66-----|--5399---|----31-------|-----18-----|
-409-|--11-----|---11--|----60-----|---2231--|----75-------|-----18-----|
---------------------------------------------------------------------------------------
以上是p=4R+1,R是偶数时的解。
41有两组解;409有三组解。就是说4/41=1/(12×1)+1/(12×6)+1/(12×1×6×41)=1/12+1/72+1/2952
4/41=1/(6×3)+1/(6×4)+1/(6×3×4×41)=1/18+1/24+1/2952。
-41×6+247×1=1
7×6+(-41)×1=1
和第二组解;
-41×4+55×3=1
31×4+(-41×3)=1
(2)式是对于所有的p值都有解,但不是全部解。(例如,4/41有7组解,而(2)式只求证4/p=1/AB+1/AC+1/ABCP
的形式解。请注意普遍解与全部解的区别。
在七十年代,人们又提出了5/P的情况,所有的素数P都可以表示成5R+1;5R+2;5R+3;5R+4形。
对于P= 5R+4形,5/(5R+4)=1/(R+1)+1/[(5R+4)(R+1)]
其中任何一个:1/N=1/(N+1)+1/[N(N+1)]。
例如,5/9=1/2+1/18,而1/2=1/3+1/6;或者1/18=1/19+1/(18×19)。
对于P=5R+3形,5/(5R+3)=1/(R+1)+2/[(5R+3)(R+1)]
其中任何一个:2/N=1/[(N+1)/2]+1/[N(N+1)/2]
例如,5/13=1/3+2/39,而2/39=1/[(39+1)/2]+1/[39×(39+1)/2]。
对于P=5R+2形,5/(5R+2)=1/(R+1)+3/[(5R+2)(R+1)]
R必然是奇数,(R+1)必然是偶数。
而:3/[(5R+2)(R+1)]=1/[(5R+2)(R+1)]+1/[(5R+2)(R+1)/2]
例如,5/37=1/8+3/(37×8);而3/(37×8)=1/(37×8)+1/(37×4)。
对于P=5R+1形,
设5/P=1/AB+1/AC+1/ABCP (8)。
5ABC=PC+PB+1 (9)
A=(PC+PB+1)/5BC (10)。
同样可以整理成(6)(7)式,同样有解。B+C=5K-1形。
下面是一些p=5R+1形的素数的解。
5/11=1/3+1/9+1/99,A=3,B=1,C=3,T=34,S=4;
5/31=1/7+1/56+1/1736,A=7,B=1,C=8,T=248,S=4;
5/41=1/9+1/93+1/11439,A=3,B=3,C=31,T=424,S=4;
5/61=1/14+1/95+1/81130,A=1,B=14,C=95,T=414,S=9;
5/71=1/15+1/267+1/94785,A=3,B=5,C=89,T=1264,S=4;
5/101=1/21+1/531+1/375417,A=3,B=7,C=177,T=2554,S=4;
5/131=1/27+1/885+1/1043415,A=3,B=9,C=295,T=4294,S=4;
方法同4/P一样。请读者自己完成。
为什么(6)(7)式可以必然有解?
两联二元一次不定方程:
a1x+b1y=1
a2x+b2y=1.
有解的充分条件是(a1b2-a2b1)|(a1-a2);(a1b2-a2b1)|(b2-b1).
我们考察一联二元一次不定方程:
ax+by=1.(14)
根据已知定理,只要(a,b)=1,(14)式就有整数x,y的解。并且是有无穷多组解。
例如,5x-2y=1.
x; y
-----------------
1, 2;
3, 7;
5, 12;
7, 17;
9, 22;
11,27;
13,32;
15,37;
17, 42;
19, 47;
...........
换句话说,(14)式中,x与y也互素。这就是联立方程组有公共解的基础。我们把a,b与x,y互换,
以上例为例子,5x-2y=1换成5a-2b=1,x=5,y=2.
3x-7y=1
17x-42y=1
形成二联二元一次不定方程。
5x-12y=1
19x-47y=1
7x-17y=1
形成三联二元一次不定方程。
(4)式可以表示成一个素数的式子:
p=(4ABC-1)/(C+B)。例如p=41时,41=(4x6x3x4-1)/(4+3);41=(5x3x3x31-1)/(31+3);
41=(6x1x8x47-1)/(8+47);41=(7x1x7x36-1)/(7+36);41=(8x6x1x6-1)/(1+6);41=(9x1x6x19-1)/(6+19);
41=(10x1x6x13-1)/(6+13);41=(11x1x4x55-1)/(4+55);;41=(12x4x1x6-1)/(1+6);;41=(13x1x4x15-1)/(4+15);
41=(14x1x3x124-1)/(3+124).。到n=15就没有了:41= (nABC-1)/(B+C)都有效。
人们于是问:是否一切n<p/3,对于任何一个素数p都有 :
p=(nABC-1)/(B+C).
有三个未知变量的素数公式,可以求得一切素数:
P=(4ABC-1)/(B+C).(15)。
(15)式对于一切p=4r+1形式的素数都可以。
例如,17.:17=(4x3x2x5-1)/(2+5)。
(15)式对于一切p=4r+3形式的素数,A=(P+1)/4,,B=1,,C=P+1。例如11=(4x3x1x12-1)/(1+12).。
对于合数n=4r+3形式。n=(4xBXC-1)/(B+C).
例如51=(4x13x664-1)/(13+664)。B=(P+1)/4,C=n(n+1)/4+1.

实际上这个问题还远远没有解决。但是已经给出了前进的方向。
埃及分数,一个曾被人瞧不起的,古老的课题,它隐含了何等丰富的内容,许多新奇的谜等待人们去揭开。

望采纳,谢谢。

④ 9/10埃及分数算法。

你好:
9/10=1/3+1/4+1/5+1/12+1/30

⑤ 这是求埃及分数的算法,请告诉我第二、三、四步为什么谢谢!

埃及分数有个特点,所有的分子都是1,要想表现一个分子非1的分数,必须变成多个分子为1的分数之和
所以步骤2是在求第一个分数的分母,第一个分数是接近A/B的大分数
步骤3、4实际是在求A/B-1/C
步骤5、6是在确定第二个分数,如果它仍然不是埃及分数,需要进一步计算

需要指出,上面的步骤有些地方写的不太准确
(2),这个得数=C
(5),这个貌似写错了,应该是B能整除A
最终答案一般是1/C+1/(B/A)或1/C+1/B
我已经用3/4=1/2+1/4 5/6=1/2+1/3 3/8=1/3+1/24 17/100=1/6+1/300试过了

⑥ 埃及分数的算法解决

题目
埃及分数
在古埃及,人们使用单位分数的和(形如 1/a 的,a 是自然数)表示一切有理数。 如:
2/3=1/2+1/6,但不允许 2/3=1/3+1/3,因为加数中有相同的。 对于一个分数 a/b,表示方
法有很多种,但是哪种最好呢?
首先,加数少的比加数多的好,其次,加数个数相同的,最小的分数越大越好。 如:
最好的是最后一种,因为 1/18 比 1/180、1/45、1/30、1/180 都大。
【输入文件】
给出两个正整数 a、b(0 < a < b < 1000),编程计算对于分数 a/b 最好的表达方式。
【输出文件】
若干个数,自小到大排列,依次是单位分数的分母。
【样例输入】
19 45
【样例输出】
5 6 18
pascal 代码(迭代加深,有更好的算法)
var
temp,ans:array[1..20]of longint;
flag:boolean;
aim:extended;
a,b,te,maxd:longint;
function gcd(a,b:longint):int64;
begin
if b=0 then exit(a);
exit(gcd(b,a mod b));
end;
function lcm(a,b:longint):int64;
var
t:longint;
begin
if a<b then
begin
t:=a;a:=b;b:=t;
end;
exit(a div gcd(a,b)*b);
end;
procere sum(var s1,s2:int64;m:longint);
var
t:int64;
begin
t:=lcm(s2,m);
if t>100000 then
begin
s1:=10000;
s2:=1;
exit;
end;
s1:=t div s2*s1+t div m;
s2:=t;
t:=gcd(s1,s2);
s1:=s1 div t;
s2:=s2 div t;
end;
procere fc(s1,s2:longint);
var
i:longint;
begin
if (s1=a)and(s2=b) then
begin
flag:=true;
if ans[maxd]>temp[maxd] then
ans:=temp;
end;
end;
procere dfs(s:extended;s1,s2,m,i:int64);
var
j:longint;
up,down,t1,t2:int64;
begin
if s1/s2>aim then exit;
if i>maxd then begin fc(s1,s2); exit;end;
up:=trunc(1/(aim-s));
if up<m then up:=m;
down:=trunc((maxd-i+1)/(aim-s))+100;
for j:=up to down do
begin
temp[i]:=j;
t1:=s1;t2:=s2;
sum(t1,t2,j);
dfs(s+1/j,t1,t2,j+1,i+1);
end;
end;
procere print;
var
i:longint;
begin
for i:=1 to maxd-1 do
write(ans[i],' ');
writeln(ans[maxd]);
end;
begin
fillchar(ans,sizeof(ans),$3f);
read(a,b);
te:=gcd(a,b);
a:=a div te;
b:=b div te;
aim:=a/b;
maxd:=1;
flag:=false;
while not flag do
begin
inc(maxd);
dfs(0,0,1,2,1);
end;
print;
end.
还有更基础的解法,初学者可用:
var a,b,c:integer;
begin
write('a,b=');readln(a,b);
write(a,'/',b,'=');
repeat
c:=b div a +1;
a:=a*c-b;
b:=b*c;
write(Ƈ/',c);
write('+');
until (a=1) or (b mod a=0);
if (b mod a=0)and(a<>1)
then write(Ƈ/',b div a);
if a=1 then write(Ƈ/',b);
readln;
end.

⑦ 贪心算法的数学应用

如把3/7和13/23分别化为三个单位分数的和
【贪心算法】
设a、b为互质正整数,a<b 分数a/b 可用以下的步骤分解成若干个单位分数之和:
步骤一: 用b 除以a,得商数q1 及余数r1。(r1=b - a*q1)
步骤二:把a/b 记作:a/b=1/(q1+1)+(a-r1)/b(q1+1)
步骤三:重复步骤2,直到分解完毕
3/7=1/3+2/21=1/3+1/11+1/231
13/23=1/2+3/46=1/2+1/16+1/368
以上其实是数学家斐波那契提出的一种求解埃及分数的贪心算法,准确的算法表述应该是这样的:
设某个真分数的分子为a,分母为b;
把b除以a的商部分加1后的值作为埃及分数的某一个分母c;
将a乘以c再减去b,作为新的a;
将b乘以c,得到新的b;
如果a大于1且能整除b,则最后一个分母为b/a;算法结束;
或者,如果a等于1,则,最后一个分母为b;算法结束;
否则重复上面的步骤。
备注:事实上,后面判断a是否大于1和a是否等于1的两个判断可以合在一起,及判断b%a是否等于0,最后一个分母为b/a,显然是正确的。
PHP代码: classtanxin{public$weight;public$price;publicfunction__construct($weight=0,$price=0){$this->weight=$weight;$this->price=$price;}}//生成数据$n=10;for($i=1;$i<=$n;$i++){$weight=rand(1,20);$price=rand(1,10);$x[$i]=newtanxin($weight,$price);}//输出结果functiondisplay($x){$len=count($x);foreach($xas$val){echo$val->weight,'',$val->price;echo'<br>';}}//按照价格和重量比排序functiontsort(&$x){$len=count($x);for($i=1;$i<=$len;$i++){for($j=1;$j<=$len-$i;$j++){$temp=$x[$j];$res=$x[$j+1]->price/$x[$j+1]->weight;$temres=$temp->price/$temp->weight;if($res>$temres){$x[$j]=$x[$j+1];$x[$j+1]=$temp;}}}}//贪心算法functiontanxin($x,$totalweight=50){$len=count($x);$allprice=0;for($i=1;$i<=$len;$i++){if($x[$i]->weight>$totalweight)break;else{$allprice+=$x[$i]->price;$totalweight=$totalweight-$x[$i]->weight;}}if($i<$len)$allprice+=$x[$i]->price*($totalweight/$x[$i]->weight);return$allprice;}tsort($x);//按非递增次序排序display($x);//显示echo'0-1背包最优解为:';echotanxin($x);java源代码 packagemain;importjava.util.ArrayList;importjava.util.Collections;importjava.util.Comparator;importjava.util.List;importjava.util.Random;publicclassMain{/***测试*/publicstaticvoidmain(String[]args){//1.随机构造一批任务List<Pair<Integer>>inputList=newArrayList<Pair<Integer>>();Randomrand=newRandom();for(intn=0;n<20;++n){Integerleft=rand.nextInt(100);Integerright=left+rand.nextInt(100)+1;Pair<Integer>pair=newPair<Integer>(left,right);inputList.add(pair);}//将任务列表按结束时间排序(也就是根据right字段进行排序)sortByRight(inputList);printPairList(inputList);//执行算法List<Pair<Integer>>outputList=algorithm(inputList);System.out.println();printPairList(outputList);}/***贪心算法**@paraminputList*@return使数量最多的任务方案*/publicstatic<TextendsComparable<T>>List<Pair<T>>algorithm(List<Pair<T>>inputList){if(null==inputList||inputList.size()==0||inputList.size()==1){returninputList;}sortByRight(inputList);List<Pair<T>>outputList=newArrayList<Pair<T>>();intlast=0;outputList.add(inputList.get(last));intintputSize=inputList.size();for(intm=1;m<intputSize;++m){Pair<T>nextPair=inputList.get(m);TnextLeft=nextPair.getLeft();Pair<T>lastOutPair=inputList.get(last);TlastRight=lastOutPair.getRight();intflag=nextLeft.compareTo(lastRight);if(flag>=0){outputList.add(nextPair);last=m;}}returnoutputList;}/***对传入的List<Pair<T>>对象进行排序,使Pair根据right从小到大排序。**@paraminputList*/privatestatic<TextendsComparable<T>>voidsortByRight(List<Pair<T>>inputList){CompareByRight<T>comparator=newCompareByRight<T>();Collections.sort(inputList,comparator);}/***打印一个List<Pair<T>>对象。**@paraminputList*/privatestatic<TextendsComparable<T>>voidprintPairList(List<Pair<T>>inputList){for(Pair<T>pair:inputList){System.out.println(pair.toString());}}}/***根据Pair.right比较两个Pair。用于Conlections.sort()方法。**@param<T>*/classCompareByRight<TextendsComparable<T>>implementsComparator<Pair<T>>{/*@Override*/publicintcompare(Pair<T>o1,Pair<T>o2){Tr1=o1.getRight();Tr2=o2.getRight();intflag=r1.compareTo(r2);returnflag;}}/***代表一个任务对象。有点装逼用模板来写了。left表示开始时间,right表示结束时间。**@param<T>*/classPair<TextendsComparable<T>>{privateTleft;privateTright;publicPair(Tleft,Tright){this.left=left;this.right=right;}@OverridepublicStringtoString(){return[left=+left.toString()+','+right=+right.toString()+']';}publicTgetLeft(){returnleft;}publicvoidsetLeft(Tleft){this.left=left;}publicTgetRight(){returnright;}publicvoidsetRight(Tright){this.right=right;}}

⑧ 什么是埃及分数计算方法

埃及分数

埃及同中国一样,也是世界上着名的文明古国。古埃及人约于公元前17世纪

已使用分数,中国《九章算术》中也载有分数的各种运算。古代埃及人处理分数与

众不同,距今大约三千多年以前的埃及,人们只使用分子是 1 的分数,和我们现在所使用的大不相同。

他们一般只使用分子为1的分数,在我们现今所使用的分数中,当有 2 个物

品要平均分给 3 个人的时候,每个人可以取得 2 个 1/3。你可以算成 2/3 = 1/3 + 1/3。

那么,古埃及的人们,是怎么算的呢?首先,把 2 个物品分成 4 个 1/2,先给每个人 1 个 1/2,剩下的 1 个1/2 再分成 3 等分,均分结果,每人分到 1/2 加 1/2 的 1/3,也就是 1/2 + 1/6 = 2/3。

那么,3/4 和 2/5 又该如何用分子全部为 1 的分数表示呢?结果:

3/4 = 2/4 + 1/4 = 1/2 + 1/4

2/5 = 6/15 = 5/15 + 1/15 = 1/3 + 1/15

又例如:用 表示 ,用 来表示 等等。

所以,像这些分子为1的真分数,就称为“埃及分数”。将一个分子为1的真

分数分解为两个或两个以上分子为1的真分数之和,称埃及分数的分解。

⑨ 分子为1的分数称为埃及分数,现输入一个真分数,使用循环方法将该分数分解为埃及分数用C语言解答

子为1的分数称为埃及分数,现输入一个真分数,请将该分数分解为埃及分数。
如:8/11=1/2+1/5+1/55+1/110。
*问题分析与算法设计
若真分数的分子a能整除分母b,则真分数经过化简就可以得到埃及分数,若真分数的分子不能整除分母,则可以从原来的分数中分解出一个分母为b/a+1的埃及分数。用这种方法将剩余部分反复分解,最后可得到结果。
*程序说明与注释
/*注:对源程序作稍许修改,主要是添加了一个外循环,可以直接计算多个真分数的埃及分数,按Ctrl-C退出。具体的算法我没有认真看,有问题请提出,谢谢*/
#include
intmain(void)
{
longinta,b,c;
while(true)
{
printf("Pleaseenteraoptionalfraction(a/b):");
scanf("%ld/%ld",&a,&b);/*输入分子a和分母b*/
printf("Itcanbedecomposedto:");
while(true)
{
if(b%a)/*若分子不能整除分母*/
c=b/a+1;/*则分解出一个分母为b/a+1的埃及分数*/
else{c=b/a;a=1;}/*否则,输出化简后的真分数(埃及分数)*/
if(a==1)
{
printf("1/%ld ",c);
break;/*a为1标志结束*/
}
else
printf("1/%ld+",c);
a=a*c-b;/*求出余数的分子*/
b=b*c;/*求出余数的分母*/
if(a==3)/*若余数为3,输出最后两个埃及分数*/
{printf("1/%ld+1/%ld ",b/2,b);break;}
}
}
return0;
}
*运行结果
Pleaseenteraoptionalfraction(a/b):1/6
Itcanbedecomposedto:1/6
Pleaseenteraoptionalfraction(a/b):20/33
Itcanbedecomposedto:1/2+1/10+1/165
Pleaseenteraoptionalfraction(a/b):10/89
Itcanbedecomposedto:1/9+1/801
Pleaseenteraoptionalfraction(a/b):19/99
Itcanbedecomposedto:1/6+1/40+1/3960
Pleaseenteraoptionalfraction(a/b):8/87
Itcanbedecomposedto:1/11+1/957
……(按ctrl-c退出)

⑩ 两千多年前,古埃及人总喜欢把分数转化为分子是1的分数来计算,所以后人常把分子是1的分数称为“埃及分数

(1)

1
2×3
=
1
2
-
1
3

1
3×4
=
1
3
-
1
4

1
5×6
=
1
5
-
1
6


(2)
1
2×3
+
1
3×4
+
1
4×5
+
1
5×6
+
1
6×7

=
1
2
-
1
3
+
1
3
-
1
4
+
1
5
-
1
6
+
1
6
-
1
7

=
1
2
-
1
7

=
5
14

阅读全文

与埃及分数算法相关的资料

热点内容
devc指针编译问题 浏览:998
支持dsd硬解压声卡 浏览:769
怎么查看u盘加密区 浏览:181
台电加密是什么格式 浏览:155
php论坛版块在哪个文件夹 浏览:442
暗黑的服务器为什么维护 浏览:624
android内存溢出的原因 浏览:18
标志307的压缩比是多少 浏览:636
服务器启动为什么叫三声 浏览:997
追风筝的人英文pdf 浏览:940
解压小熊手机壳 浏览:346
成都市区建成面积算法 浏览:661
智能家居单片机 浏览:97
买男装用什么app好 浏览:856
文件夹合并了怎么拆开 浏览:261
波段副图源码无未来函数 浏览:90
livecn服务器地址 浏览:259
程序员这个工作真的很吃香吗 浏览:848
程序员和数学分析师待遇 浏览:681
压缩气弹簧怎么拆 浏览:326