4.2.憋了這么久編程講完了,才告訴你環(huán)境怎么安裝doge

零=道=>道;
前繼 = 自然數(shù)=>自然數(shù)();
后繼 = 自然數(shù)=>()=>自然數(shù);
一 = ()=>零;//1
二 = ()=>()=>零;//2
三 = ()=>()=>()=>零;//3
四 = ()=>()=>()=>()=>零;//4
五 = ()=>()=>()=>()=>()=>零;//5
真 = (選擇一,選擇二)=>選擇一();
假 = (選擇一,選擇二)=>選擇二();
如果 = (條件,選擇一,選擇二)=>條件(選擇一,選擇二);
非 = (條件)=>如果(條件,()=>假,()=>真);
或 = (條件一,條件二) =>
如果(條件一,()=>真,()=>如果(條件二,()=>真,()=>假));
與 = (條件一,條件二) =>
如果(條件一,()=>如果(條件二,()=>真,()=>假),()=>假);
為零=(自然數(shù))=>自然數(shù)===零?真:假;
加 = (數(shù)一,數(shù)二) =>
如果(為零(數(shù)二)
,()=>數(shù)一
,()=>加(后繼(數(shù)一),前繼(數(shù)二))
);
// 減 = (數(shù)一,數(shù)二) =>
// 如果(為零(數(shù)二)
// ,()=>數(shù)一
// ,()=>減(前繼(數(shù)一),前繼(數(shù)二))
// );
減 = (數(shù)一,數(shù)二) =>
如果(為零(數(shù)一)
,()=>零
,()=>如果(為零(數(shù)二)
,()=>數(shù)一
,()=>減(前繼(數(shù)一),前繼(數(shù)二))
)
);
為一 = (自然數(shù)) => 如果(為零(自然數(shù))
,()=>假
,()=>如果(為零(前繼(自然數(shù)))
,()=>真
,()=>假)
);
乘非零 = (數(shù)一,數(shù)二) =>
如果(為一(數(shù)二)
,()=>數(shù)一
,()=>乘非零(加(數(shù)一,數(shù)一),減(數(shù)二,一))
);
乘 = (數(shù)一,數(shù)二) =>
如果(為零(數(shù)二)
,()=>零
,()=>乘非零(數(shù)一,數(shù)二)
);
相等=(數(shù)一,數(shù)二)=>如果(
與(為零(減(數(shù)一,數(shù)二)),
為零(減(數(shù)二,數(shù)一)))
,()=>真
,()=>假);
小于=(數(shù)一,數(shù)二) => 如果(
與(為零(減(數(shù)一,數(shù)二)),
非(為零(減(數(shù)二,數(shù)一))))
,()=>真
,()=>假);
大于=(數(shù)一,數(shù)二) => 如果(
與(非(為零(減(數(shù)一,數(shù)二))),
為零(減(數(shù)二,數(shù)一)))
,()=>真
,()=>假);
// 斐波那契數(shù)
// 第一個(gè)月初有一對(duì)剛誕生的兔子
// 第二個(gè)月之后(第三個(gè)月初)它們可以生育
// 每月每對(duì)可生育的兔子會(huì)誕生下一對(duì)新兔子
// 兔子永不死去
// 過了100個(gè)月,總計(jì)有多少兔子?
//1,1,2,3,5,8,13,……,斐(第88個(gè)月),斐(第89個(gè)月),斐(第88個(gè)月)+斐(第89個(gè)月),
斐波那契數(shù) = (第幾個(gè)月) =>
如果(或(為零(第幾個(gè)月),為一(第幾個(gè)月)),
()=>一,
()=>加(斐波那契數(shù)(減(第幾個(gè)月,一))
,斐波那契數(shù)(減(第幾個(gè)月,二)))
);
展現(xiàn) = (自然數(shù)) =>
如果(
為零(自然數(shù)),
() => '',
() => 展現(xiàn)(前繼(自然數(shù))) + '壹'
);