N級Farey分數的實現c 實現

2021-09-01 12:33:17 字數 1164 閱讀 2435

farey序列是乙個這樣的序列:其第一級序列定義為(0/1,1/1),這一串行擴充套件到第二級形成序列(0/1,1/2,1/1),擴充套件到第三極形成序列(0/1,1/3,1/2,2/3,1/1),擴充套件到第四級則形成序列(0/1,1/4,1/3,1/2,2/3,3/4,1/1)。以後在每一級n,如果上一級的任何兩個相鄰分數a/c與b/d滿足(c+d)<=n,就將乙個新的分數(a+b)/(c+d)插入在兩個分數之間。對於給定的n值,依次輸出其第n級序列所包含的每乙個分數。

// c.cpp : 此檔案包含 "main" 函式。程式執行將在此處開始並結束。

//#include

using namespace std;

class

farey

;//前置宣告類

class

node

friend class

farey

;//方便farey訪問node的私有成員

//友元函式 farey和node都要宣告

friend ostream& operator<<

(ostream&out,

const farey& obj)

;private:/

/私有成員資料

int a, b;

node * next;};

node:

:node

(int a1,int b1)

class

farey

;//預設建構函式 將n級數設定為1

farey:

:farey()

//初始化函式(0/1,1/1)

void farey:

:init()

farey:

:farey

(int n1)

p = p-

>next;}}

};//設定 關鍵 函式

farey::~

farey()

}ostream& operator<<

(ostream& out,

const farey& obj)

out << p-

>a<<

"/"<>b<<

")";

return out;

}int main()

C 實現的分數類

前陣子開始想做成乙個完備的分數類,昨天有時間進行了實現,今天再看 一團糟。於今天進行重構,尚未完成,待續。using system using system.collections.generic using system.linq using system.text using system.te...

C 實現 分數類

花了幾個小時敲 測試 修改 總算搞定了 好累,睡覺去的 有問題歡迎提出,繼續修改 首先是標頭檔案cfraction.h ifndef cfraction h define cfraction h include using namespace std class cfraction float ge...

實現最高的分數 c語言

第3題 3 最高的分數 總時間限制 1000ms 記憶體限制 65536kb 描述 孫老師 講授的 計算概論 這門課期中考試剛剛結束,他想知道考試中取得的最高分數。因為人數比較多,他覺得這件事情交給計算機來做比較方便。你能幫孫老師解決這個問題嗎?輸入輸入為二行,第一行為整數n 1 n 100 表示參...