亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? farey2.cpp

?? 程序用vc++6.0編譯
?? CPP
字號:
// 我真誠地保證:
    
// 我自己獨立地完成了整個程序從分析、設計到編碼的所有工作。
// 如果在上述過程中,我遇到了什么困難而求教于人,那么,我將在程序實習報告中
// 詳細地列舉我所遇到的問題,以及別人給我的提示。

// 在此,我感謝 XXX, …, XXX對我的啟發和幫助。下面的報告中,我還會具體地提到
// 他們在各個方法對我的幫助。
 
// 我的程序里中凡是引用到其他程序或文檔之處,
// 例如教材、課堂筆記、網上的源代碼以及其他參考書上的代碼段,
// 我都已經在程序的注釋里很清楚地注明了引用的出處。

// 我從未沒抄襲過別人的程序,也沒有盜用別人的程序,
// 不管是修改式的抄襲還是原封不動的抄襲。

// 我編寫這個程序,從來沒有想過要去破壞或妨礙其他計算機系統的正常運轉。
    
// 饒向榮

/*
	文件名稱:	fareySequence
	項目名稱:	法雷序列
	創建者:	饒向榮
	創建時間:	9/23/2004
	最后修改時間:9/?/2004
	功能:		對輸入的N,輸出相應的法雷序列

	文件中的函數名稱和簡單功能描述:
		int isNumber(char* str) 判斷str是否為正整數, 并且大小不超過MAXV, 如果是,則返回數的值,
								否則,返回-1.
		int readIn()			從鍵盤讀入一個數,并顯示相應提示

	文件中定義的全局變量和簡單功能描述:
		常量MAXV, 限制輸入數據的大小.

	文件中用到的他處定義的全局變量及其出處:無
	與其他文件的依賴關系:無
*/

#include <iostream>
#include <string>
#include <list>
const int MAXV = 100000; // 輸入的最大數值

#define OUTPUTMSG		// 控制是否輸出序列,若只要測試計算速度,可以不輸出

using namespace std;

/*
	類名稱:		fareySequence
	定義該類的目的:能完成數據的輸入和輸出相應的法雷序列的全過程.
	類屬性:
	類中函數及功能:
		int isNumber(const char* str); 判斷一個串是否為正整數, 并且大小不超過MAXV
									   滿足判斷條件,則返回字符串包含的數字,否則返回-1
		int readIn();  提示用戶輸入一個不大于MAXV的非負數,返回一個滿足條件的輸入
		void run(); 根據輸入的N, 輸出相應的法雷序列
		void start(); 重復數據的輸入和序列的輸出,直到用戶示意退出,用戶輸入0退出

	與其他類的關系(調用/被調用哪類對象中的什么函數):無
*/
class fareySequence
{
	struct fraction  // 分數的分子和分母的記錄
	{
		int deno, nume; // deno, nume分別表示分母,分子
	};

	int n; // 要計算的序列的規模

	int isNumber(const char* str);
/*
	函數名稱:isNumber
	函數功能描述:判斷一個串是否為正整數, 并且大小不超過MAXV
	函數調用之前的預備條件:輸入字符串
	返回值(如果有的話): 滿足判斷條件,則返回字符串包含的數字,否則返回-1
	函數的輸入參數:一個字符串指針
*/
	int readIn();
/*
	函數名稱:readIn
	函數功能描述:提示用戶輸入一個不大于MAXV的非負數,返回一個合理的輸入
	返回值(如果有的話): 返回合理的輸入,即輸入N
*/
	void run();
/*
	函數名稱:run
	函數功能描述: 根據得到的N, 輸出相應的法雷序列, 本過程通過遞推實現,
				  由已知的前兩數,可直接推出下一數,直到輸出完所有數
	函數調用之前的預備條件:readIn完成N的讀入
	返回值(如果有的話): 返回合理的輸入,即輸入N
*/
	void start();
/*
	函數名稱:start
	函數功能描述:重復數據的輸入,和序列的輸出,直到用戶示意退出
*/

public:
	fareySequence()		// 構造函數,啟動輸入輸出
	{
		start();
	}
};

int fareySequence::isNumber(const char* str)
{
	int i = 0, len = strlen(str), temp = 0; 
	// i 循環變量, len紀錄字符串長度,temp紀錄得到的數值

	if (len == 0) return -1;	// str為]空串,則返回-1
	while (str[i] == ' ') i++;	// 不計字符串前面的空白
	for (; i < len && str[i] != ' '; i++) // 從前向后掃描直到遇到空白或者字符串結束
		if (str[i] < '0' || str[i] > '9') return -1; // 字符串中有非數字,返回-1
			else 
			{
				temp = temp * 10 + str[i] - '0';  // 更新數值
				if (temp > MAXV) return -1; // 如果數值大于MAXV,返回-1
			}
	return temp;	// 返回字符串包含的數字串的值
}

int fareySequence::readIn()
{
	const MAXN = 1000; // 用戶輸入的最大長度
	char inStr[MAXN+1]; // 輸入存在此字符串中
	int temp; // temp臨時變量
	
	// 提示信息
	cerr << "a positive number(less than 100001) you want to calculate: " << endl;
	cerr << "			0 stands for quit " << endl;

	while (true) // 不斷提示用戶輸入,直到得到合理輸入
	{
		cin.getline(inStr, MAXN);
		temp = isNumber(inStr);
		if (temp >= 0)	// 如果輸出合理,則返回得到的輸入數值
			return temp;
		else			// 否則,重新輸入
		{
			cerr << "A positive NUMBER less than 100001, sir! " << endl;
		}
	}
}

void fareySequence::run() // 根據說明文檔中第二種方法編寫
{
	list<fraction> sflist; // 定義法雷序列鏈表
	fraction temp;
	int count;

	temp.deno = 1; temp.nume = 0; // 序列第一個分數
	sflist.push_back(temp);
	temp.deno = 1; temp.nume = 1; // 序列的最后一個分數
	sflist.push_back(temp);
	
	list<fraction>::iterator pointer, _pointer;		
	// 跌代子pointer為掃描指針,_pointer計錄pointer下一位置
	pointer = sflist.begin();
	count = 0;
	while (pointer->deno != 1 || pointer->nume != 1) // 沒有到鏈表尾部
	{
		++(_pointer = pointer);	// 給_pointer賦值為pointer下一位置
		if (pointer->deno + _pointer->deno <= n)  // 如果pointer, _pointer之間可以插另外一分數
		{
			temp.deno = pointer->deno + _pointer->deno;
			temp.nume = pointer->nume + _pointer->nume;
			sflist.insert(_pointer, temp); // 在_pointer位置插入這個新的分數
		}
		else // 若不能再插入新的分數,則pointer向后移動
		{
			#if defined OUTPUTMSG
				cout << pointer->nume << "/" << pointer->deno << " ";  // 輸出pointer所在位置的分數
			#endif
			++count;
			++pointer; // 移動pointer
			sflist.pop_front(); // pointer之前的元素已經無用, 可以刪除以節省空間
		}
	}
	#if defined OUTPUTMSG
		cout << pointer->nume << "/" << pointer->deno << endl;
	#endif
	cout << "the number of fractions : " << ++count << endl;
	sflist.clear();
}

void fareySequence::start()
{
	while ((n = readIn()) != 0)	// 不斷重復輸入輸出,直到用戶輸入0
	{
		run();
		cerr << "work done!" << endl;
	}
}

void main()
{
	fareySequence tempVar; 
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美午夜精品一区二区蜜桃| 日韩精品1区2区3区| 久久狠狠亚洲综合| 欧美一三区三区四区免费在线看| 亚洲电影一区二区三区| 成a人片国产精品| 亚洲色图.com| 欧美片在线播放| 国产精品一区二区果冻传媒| 亚洲精选视频在线| 欧美一区二区在线免费观看| 欧美精品丝袜中出| 91在线看国产| 国产91精品免费| 午夜成人免费电影| 国产网站一区二区三区| 欧美日韩精品一区视频| 欧美一区二区免费视频| 久久久精品人体av艺术| 欧美美女直播网站| 精品国产一区二区三区久久影院| 97精品久久久午夜一区二区三区 | 有码一区二区三区| 亚洲成人在线观看视频| 精品在线一区二区| 亚洲综合一区二区三区| 国产精品天天摸av网| 欧美一区二区视频在线观看| 9191国产精品| 91精彩视频在线| 丁香激情综合国产| 国产成人在线看| 韩国一区二区视频| 久久99精品国产麻豆不卡| 国产精品综合网| 欧美高清你懂得| 国产亚洲一区二区三区| 亚洲国产精品久久久男人的天堂| 麻豆91精品91久久久的内涵| 亚洲专区一二三| 国产黑丝在线一区二区三区| 在线中文字幕一区二区| 国产欧美一区二区三区沐欲| 久久久精品蜜桃| 午夜不卡av在线| 91麻豆免费看片| 不卡的av电影| 欧美精品一区二区三区蜜桃 | 99久久99久久精品免费看蜜桃| 6080午夜不卡| 亚洲韩国精品一区| 不卡一区二区中文字幕| 精品国产乱码久久久久久蜜臀| 亚洲一区二区三区四区在线观看| 粉嫩av一区二区三区在线播放| 日韩一二在线观看| ww久久中文字幕| 国产精品色婷婷| 精品无人码麻豆乱码1区2区| 3d动漫精品啪啪1区2区免费| 亚洲色图清纯唯美| heyzo一本久久综合| 91久久精品一区二区二区| 欧美国产丝袜视频| 亚洲精品成人悠悠色影视| 高清成人免费视频| 中文av一区二区| 丁香桃色午夜亚洲一区二区三区| 久久人人超碰精品| 国产呦萝稀缺另类资源| 在线一区二区三区| 亚洲精品成人在线| 欧美午夜精品久久久久久孕妇| 亚洲精选免费视频| 欧美网站一区二区| 午夜久久电影网| 91精品啪在线观看国产60岁| 午夜国产精品一区| 日韩免费一区二区| 一区二区三区欧美亚洲| 国产一区二区三区高清播放| 久久精品男人的天堂| 国产成人综合亚洲91猫咪| 亚洲国产精品成人久久综合一区| 波多野结衣中文字幕一区 | 在线不卡中文字幕播放| 亚洲h精品动漫在线观看| 欧美日韩国产高清一区| 免费看日韩a级影片| 色噜噜狠狠成人网p站| 一区二区三区在线视频观看58| 91国在线观看| 日本sm残虐另类| 久久久噜噜噜久久中文字幕色伊伊 | 国产精品久久久久久户外露出| 日韩精品一二三四| 欧美精品一区二区三区在线| 国产精品99久久久久久似苏梦涵| 成人欧美一区二区三区1314 | 99久久综合狠狠综合久久| 中文字幕一区二区日韩精品绯色| 在线中文字幕一区二区| 日本成人中文字幕| 欧美日韩一区高清| 亚洲综合在线第一页| 欧美电影免费观看高清完整版在线 | 首页国产欧美久久| 久久精品日产第一区二区三区高清版| 成人av在线资源网站| 日韩一区精品视频| 中文字幕亚洲不卡| 欧美不卡在线视频| 麻豆国产欧美日韩综合精品二区| 久久精品在这里| 欧美在线观看一二区| 亚洲激情男女视频| xnxx国产精品| 欧美肥妇毛茸茸| 不卡av在线网| 国产在线精品一区二区夜色| 亚洲精品老司机| 欧美国产日产图区| 日韩一区二区三区观看| 一本色道久久加勒比精品| 综合精品久久久| 久久亚洲一区二区三区明星换脸 | 青青草国产成人99久久| 一区二区三区中文免费| 国产精品色一区二区三区| 26uuu亚洲| 91精品国产综合久久精品性色| av在线不卡免费看| 国产精品小仙女| 国产自产高清不卡| 免费三级欧美电影| 日韩黄色免费电影| 亚洲国产精品天堂| 亚洲精品国产a| 亚洲男人的天堂在线观看| 在线观看日韩电影| 99久久99久久精品免费观看| 国产精品99久久久久久久女警| 蜜桃一区二区三区四区| 午夜欧美一区二区三区在线播放| 一区二区三区日韩欧美精品| 亚洲色图丝袜美腿| 一区二区三区四区精品在线视频| 亚洲欧美在线视频观看| 国产精品久久久99| |精品福利一区二区三区| 中文字幕中文乱码欧美一区二区| 中文子幕无线码一区tr| 国产亚洲1区2区3区| 久久夜色精品国产噜噜av| 久久久久国产精品免费免费搜索| 久久久久亚洲蜜桃| 国产精品久久777777| 亚洲男同性恋视频| 爽爽淫人综合网网站| 久久99日本精品| 国产高清在线精品| 99久久综合国产精品| 欧美三级韩国三级日本三斤| 欧美日本国产一区| 日韩免费一区二区| 国产精品免费av| 亚洲综合小说图片| 蜜臀av性久久久久蜜臀aⅴ| 黄页网站大全一区二区| 高潮精品一区videoshd| 99国产精品国产精品久久| 在线一区二区视频| 精品国产一区a| 亚洲欧洲另类国产综合| 五月天亚洲精品| 韩国精品主播一区二区在线观看| 成人丝袜18视频在线观看| 91久久精品一区二区| 欧美一区二区高清| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 日韩黄色免费电影| 韩国午夜理伦三级不卡影院| 成人av影院在线| 欧美一级日韩不卡播放免费| 久久精品在这里| 性久久久久久久| 成人性生交大片免费看在线播放| 在线看国产日韩| 久久综合久久99| 亚洲国产精品久久人人爱蜜臀| 国产精品中文有码| 在线观看免费亚洲| 日本一区二区三区电影| 性久久久久久久久久久久| 成人激情视频网站| 日韩一级免费一区| 亚洲二区视频在线| av福利精品导航| 久久久精品欧美丰满| 免费欧美高清视频|