埃及分數
分子是1的分數
埃及分數是指分子是1的分數,也叫單位分數。古代埃及人在進行分數運算時。只使用分子是1的分數。因此這種分數也叫做埃及分數,或者叫單分子分數。
埃及分數
在我們現今所使用的分數中,當有2個物品要平均分給3個人的時候,每個人可以取得2個。你可以算成。那麼,古埃及的人們,是怎麼算的呢?首先,把 2 個物品分成 4 個 ,先給每個人 1 個 ,剩下的 1 個 再分成 3 等分,均分結果,每人分到 加 的 ,也就是 。這份至今保存在大英博物館的“萊登”草紙,用很大的篇幅記載著將真分數分解成單分子分數,這種運算方式,遭到現代數學家們紛紛責難,認為埃及人之所以未能把算術和代數發展到較高水平,其分數運算之繁雜也是原因之一。
埃及金字塔是舉世聞名的,表明古埃及人具有高超的建築技巧和超凡的智力,難道最簡單的現代分數也不懂?金字塔所蘊含的難道是一篇粗劣的作品?
現代數學已經發展到十分抽象和複雜的程度,而埃及分數卻是這樣粗糙,在人們的記憶里早該煙消雲散了,然而,它產生的問題直到今天仍然引起人們的重視。
一個古老的傳說是:
老人彌留之際,將家中11匹馬分給3個兒子,老大,老二,老三。二分之一是5匹半馬,總不能把馬殺了吧,正在無奈之際,鄰居把自己家的馬牽來,老大二分之一,牽走了6匹;老二四分之一,牽走了3匹;老三六分之一,牽走了2匹。一共11匹,分完后,鄰居把自己的馬牽了回去。即。
奇妙的埃及分數終於調動自己的潛在難度擊敗了敢於輕視他們的人們。並且給與嘲笑他的人以難堪的回答。
兩千多年後的數學家終於發現:; ;。此時才大夢初醒。埃及分數以旺盛的生命力屹立在世界數壇,使三千年後的數學家也自嘆弗如。例如,分馬問題,能否設計出 .。經過2000多年的努力,終於揭開其中的奧秘:有6種可能,共7種分法。。
原先人們以為,這樣的情況大概有無窮多個,可是,繼續追擊卻一無所獲,真是難以預料。黑龍江的關春河發現共有43種情況。這是正確的。
當限定分母為奇數時,把“1”分解為埃及分數,項數限定為9項,共有5組解:
。
。
。
。
以上5組解是在1976年才找到。限定為11項時,發現了1組解 最小分母是105。若大於105則有很多的解。
型分數還可以表示成為級數分解式:
埃及分數成為不定方程中一顆耀眼的明珠。
埃及分數最著名的猜想是Erods猜想:1950年Erods猜想,對於n〉1的正整數,
總有:
. (1)
其中,x,y,z。都是正整數。
Stralss進一步猜想,當時,方程的解x,y,z滿足。
1963年柯召,孫奇,張先覺證明了Erods猜想stralss猜想等價。幾年後yamanot又把結果發展到10的7次方。以後一些數學家又把結果推向前去,始終未獲根本解決。對於,只需要考慮n=p為素數的情況,因為若(1)式成立,則對於任何整數m,,
,(2)
也成立。
一切奇素數都可以表示為型。對於型,(參見《單位分數》人民教育出版社1962年):(1)式是顯然的。
2002年王曉明提出:
如果設
即:
.(3)
對於型,(3)式是顯然的。
因為這時.。
即:
。 (4)
例如:
對於 型的素數,把(3)式整理成:
(5)
(6)
在(6)式中,若要 ,需使得,設;若要,需使得,設;對於形,若要,需,對於形,若要,需。於是,形成一個二元一次不定方程組:
(7)
(8)
例如時, 。
即
等價於下面的式子:
注意:. (9)
由於型,所以,當型時,型;型。.
因為對於二元一次不定方程組,我們有得是辦法。根據《代數學辭典》上海教育出版社1985年(376頁):“
方程組:
公共解(整數解)x,y的充分必要條件是不等於0,並且。”
我們把(7)(8)式的C與B當成上面的x,y. 在(7)式中,只要;就有無窮多組B和C整數解;在(7)中,只要就有B和C的整數解。根據已知的定理(柯召,孫奇《談談不定方程》)13 至17頁,聯立二元一次不定方程,就知道(7)(8)式必然有公共整數解(用到矩陣,單位模變換等知識)。即,。為什麼說是必然有解,只要有一個素數有解,其它素數必然有解。在中國象棋中,“馬”從起點可以跳到所有的點,那麼,馬在任何一個點就可以跳到任何點。因為馬可以從任何一個點退回的起點。
下面是一些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----|
以上是,R為奇數時的解,此時,。
-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-----|
以上是,R是偶數時的解。
41有兩組解;409有三組解。就是說
和第二組解;
(2)式是對於所有的p值都有解,但不是全部解。(例如,有7組解,而(2)式只求證
的形式解。請注意普遍解與全部解的區別。
在七十年代,人們又提出了的情況,所有的素數P都可以表示成形。
對於形,
其中任何一個:。
例如,,而;或者。
對於形,
其中任何一個:
例如,,而。
對於形,
R必然是奇數,必然是偶數。
而:
例如,;而。
對於形,
設 (8)。
(9)
(10)。
同樣可以整理成(6)(7)式,同樣有解。形。
下面是一些形的素數的解。
方法同一樣。請讀者自己完成。
為什麼(6)(7)式可以必然有解?
兩聯二元一次不定方程:
有解的充分條件是.
我們考察一聯二元一次不定方程:
.(14)
根據已知定理,只要,(14)式就有整數x,y的解。並且是有無窮多組解。
例如,
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換成
形成二聯二元一次不定方程。
形成三聯二元一次不定方程。
(4)式可以表示成一個素數的式子:
。例如時,。到就沒有了:都有效。
人們於是問:是否一切,對於任何一個素數p都有:
有三個未知變數的素數公式,可以求得一切素數:
。(15)
(15)式對於一切形式的素數都可以。
例如,。
(15)式對於一切形式的素數,。例如。
對於合數形式。.
例如。.
題目
埃及分數
在古埃及,人們使用單位分數的和(形如 的,a 是自然數)表示一切有理數。如:
,但不允許,因為加數中有相同的。對於一個分數,表示方
法有很多種,但是哪種最好呢?
首先,加數少的比加數多的好,其次,加數個數相同的,最小的分數越大越好。如:
最好的是最後一種,因為 都大。
【輸入文件】
給出兩個正整數 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
begin
t:=a;a:=b;b:=t;
end;
exit(a div gcd(a,b)*b);
end;
procedure 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;
procedure 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;
procedure 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
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;
procedure 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('1/',c);
write('+');
until (a=1) or (b mod a=0);
if (b mod a=0)and(a<>1)
then write('1/',b div a);
if a=1 then write('1/',b);
readln;
end.
實際上這個問題還遠遠沒有解決。但是已經給出了前進的方向。
.埃及分數,一個曾被人瞧不起的,古老的課題,它隱含了何等豐富的內容,許多新奇的謎等待人們去揭開。
目錄