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

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

?? alg_ans.h

?? 一個計算任意個數是否可以通過一系列運算得到想要的結果的程序,程序中主要利用遞歸方式實現
?? H
字號:
#include<iostream>
#include<vector>
#include<string>
#include <cmath> 
using namespace std;
const double PRECISION = 1E-6;		//精度,以防在做一些除法運算時由于精度問題導致出錯

/*遞歸函數Compute*/
/*************************************************************************/
/*一 遞歸算法值得注意考慮的地方
	  1 遞歸中需要考慮臨時變量的生存時間,在遞歸函數中定義到的臨時變量,其實質上相當于在
		不同的函數定義了一個相同的變量名 如int a;這個變量在每一層遞歸中都重新賦值,而在
        每一層遞歸結束時,返回到上一層,該變量則又從堆棧中返回,這是遞歸的巧妙之處,該遞
		歸返回可以用于回溯一路過來的數據
	  2 再說臨時變量問題,由于臨時變量僅在每一層遞歸中存在一個值,在深一層其會重新由于定
        義而重新被初始化,所以其值如果要在下一層利用,則需要用一個全局變量(我覺得用遞歸
		的形式參數可以)把它存儲起來,然后在深一層遞歸中利用。例如對下面的變量c,利用了vector
        存儲起來。而對于返回時,由于“錯位”(個人認為叫錯位)導致返回時的變量不是同一層次時
        如下面Compute函數,如果僅僅設置一個變量Exp,兩者在合成一個表達式Exp后,由于合并在上一層,
		而如果返回的話,得到的結果將會覺得不是同一層次的數據,而且無法把它分離開重新調用遞歸,
		故需要設置變量把其分離開Exp1,Exp2,這樣的話,返回的a,b 將和Exp1,Exp2在同一層次,
		可以很好把表達式列出來
	  3	到目前的程序為止,都是將遞歸中的形式參數作為該遞歸函數的“全局變量”,用于存儲數據進入
		深一層的遞歸,如Number,Exp
  二,利用遞歸的思想考慮問題
	  到目前為止所編寫的利用遞歸思想進行的算法,包括字符排列,漢諾塔,24點算術等,這些問題中
	  都要考慮到一個問題的相似性,如字符排列的去一字符對余下字符進行全排列,漢諾塔的經典遞歸,
	  24點算術中遞歸對所有可能的算術結果,這些問題都是比較循環得到,只是在各層遞歸中,所進行
	  一些操作不同,包括遞歸中的循環,遞歸中的排列等。
  三 一些小問題
		遞歸函數的bool值,返回利用一層一層的返回return true/false,要注意的是要保證出口唯一而
		且一定存在出口,小心忘記return false,最好把這句放到遞歸的最后一層,還有函數的結束,因為
		如果遞歸結束時是返回上一層的最后一行程序,所以可以很好的返回上一層的遞歸結果
*/

/*思想:a,b,c,d => a,b,(c+*-/d)=>a,b,c=>a,c=>c==Ans?然后逐層返回計算
*/
bool Compute_Ans(vector<double>Number,string Exp,int Ans,int Con_record = 0)	
{
	if(Number.size() == 1)
	{
		if(fabs(Number[0]-Ans)<PRECISION)
		{
			cout<<"Success..."<<endl;
			cout<<Exp<<" = "<<Ans<<endl;
			return true;
		}
		else
		{
			return false;
		}
	}
	else
	{
		string Exp1,Exp2;
		double a,b,c;
		char ch_a,ch_b;
		Exp1 = Exp;

		a = Number[Number.size()-1];
		ch_a = a+48;
		Number.pop_back();
		b = Number[Number.size()-1];
		ch_b = b+48;
		Exp2 = ch_b;
		Number.pop_back();
		c = a+b;
		Number.push_back(c);

		if(Con_record>0)
		{
			Exp1 = ch_a;
		}
		Exp = '('+Exp1+'+'+Exp2+')';
		if(Compute_Ans(Number,Exp,Ans)) return true;
		
		Number.pop_back();
		c = a*b;
		Number.push_back(c);
		Exp = '('+Exp1+'*'+Exp2+')';
		if(Compute_Ans(Number,Exp,Ans)) return true;

		Number.pop_back();
		{
			if(a>b)
			{
				c = a-b;
				Number.push_back(c);
				Exp = '('+Exp1+'-'+Exp2+')';
			}
			else
			{
				c = b-a;
				Number.push_back(c);
				Exp = '('+Exp2+'-'+Exp1+')';
			}
		}
		if(Compute_Ans(Number,Exp,Ans)) return true;

		Number.pop_back();
		if(fabs(b)>PRECISION)
		{
			c = a/b;
			Number.push_back(c);
			Exp = '('+Exp1+'/'+Exp2+')';
			if(Compute_Ans(Number,Exp,Ans)) return true;
		}

	 	Number.pop_back();
		if(fabs(a)>PRECISION)
		{
			c = b/a;
			Number.push_back(c);
			Exp = '('+Exp2+'/'+Exp1+')';
			if(Compute_Ans(Number,Exp,Ans)) return true;
		}
	}
	return false;
}

/*Insert_Char函數用于在某一位置插入字符*/
void Insert_Char(char c1,string &str,int i)
{
	if(i == 0)
	{
		str = c1 + str;
	}
	else
	{
		string Temp_str = str.substr(i);
		str.erase(i,str.size()-i);
		str = str + c1 +Temp_str;
	}
}
/*Rotate 函數用來對所輸入的數字進行全排列,利用的是非遞歸的全排列方式,主要是因為在某一情況下
計算算式中已經利用到了遞歸的方法,故另外利用函數編寫一個非遞歸的,可以從中調用遞歸函數,而且這
樣會減少占用??臻g
對輸入數字進行全排列的方法是:1首先對下標進行全排列。
							  2然后將各個數字按所排列好的下標取數字即可得到某一數列的全排列
*/
void Rotate(vector<double>Number,string Exp,int Ans,int Con_record)
{
	int count = Number.size();
	
	vector<string>temp;
	vector<string>store;

	store.push_back("0");
	
	string T_Str;
	char ch_i;

	for(int i = 1;i<count;i++)  //遞推方法 隔位插入字符,得到全排列
	{
		for(int j = 0;j<store.size();j++)
		{
			T_Str = store[j];
			for(int t = 0;t<=store[j].size();t++)
			{
				ch_i = i+48;
				Insert_Char(ch_i,T_Str,t);
				temp.push_back(T_Str);
				T_Str = store[j];
			}
		}
		while(!store.empty())
		{
			store.pop_back();
		}
  		store = temp;
		while(!temp.empty())
		{
			temp.pop_back();
		}
	}
//以上得出下標排列
	
	vector<double>Sort_Number;
	int T_int;
	bool test = false;
	for(i = 0;i<store.size();i++)
	{
		for(int j = 0;j<Number.size();j++)
		{
			T_int = store[i][j];
			T_int = T_int-48;
			Sort_Number.push_back(Number[T_int]);
		}
		if(Compute_Ans(Sort_Number,Exp,Ans,Con_record))
		{
			test = true;
			break;
		}
		while(!Sort_Number.empty())
		{
			Sort_Number.pop_back();
		}

	}
	if(!test)
		cout<<"Fail To Compute..."<<endl;

}
		
		

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产伦一区二区三区观看体验| 欧美性感一区二区三区| 波多野结衣精品在线| 91在线播放网址| 精品少妇一区二区三区日产乱码| 国产精品久线在线观看| 日韩 欧美一区二区三区| 成人精品一区二区三区中文字幕| 欧美日韩精品二区第二页| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲精品国产视频| 国产精品1区2区| 91精品国产综合久久婷婷香蕉 | 制服丝袜激情欧洲亚洲| 亚洲视频在线一区二区| 亚洲一二三四区不卡| 色综合色综合色综合 | 激情成人午夜视频| 久久国产人妖系列| 在线观看成人免费视频| 国产亚洲美州欧州综合国| 五月天久久比比资源色| 9色porny自拍视频一区二区| 久久久国际精品| 久久er99热精品一区二区| 欧美在线观看一区| 亚洲永久精品大片| 91九色最新地址| 一区二区三国产精华液| 91在线porny国产在线看| 国产精品久久久久久久久晋中| 麻豆精品蜜桃视频网站| 欧美剧情电影在线观看完整版免费励志电影 | 国产精品小仙女| 2023国产精品自拍| 九九精品一区二区| 久久综合九色综合久久久精品综合 | 国产欧美日本一区视频| 国产精品一线二线三线精华| 久久综合九色欧美综合狠狠 | 亚洲444eee在线观看| 欧美精品三级在线观看| 日韩高清不卡在线| 日韩欧美不卡一区| 国产精品一区在线| 一区在线观看视频| 欧美系列一区二区| 日韩av一区二区三区四区| 日韩你懂的在线播放| 国产乱码精品一区二区三区av| 中文字幕视频一区| 精品日产卡一卡二卡麻豆| 777xxx欧美| 日韩精品午夜视频| 日韩三级精品电影久久久| 另类的小说在线视频另类成人小视频在线| 91精品国产色综合久久| 国产一区二区伦理片| 中文字幕一区三区| 欧美剧情片在线观看| 国内精品国产三级国产a久久| 中文字幕制服丝袜一区二区三区| 色菇凉天天综合网| 亚洲va欧美va人人爽| 久久亚洲欧美国产精品乐播| 成人深夜福利app| 亚洲午夜私人影院| 精品国产91九色蝌蚪| av午夜精品一区二区三区| 日日夜夜精品视频天天综合网| 久久久综合网站| 在线国产电影不卡| 免费在线观看一区| 在线亚洲高清视频| 91精品国产综合久久蜜臀| 欧美日韩免费观看一区二区三区| 丝袜国产日韩另类美女| 国产色产综合产在线视频| 欧美日韩一区高清| 懂色一区二区三区免费观看| 一区二区三区中文字幕在线观看| 精品美女在线播放| 在线中文字幕不卡| 国产成人8x视频一区二区| 午夜欧美视频在线观看| 国产精品电影院| 欧美va亚洲va在线观看蝴蝶网| 色综合久久中文字幕| 精品一区二区三区欧美| 午夜视频在线观看一区二区 | 在线一区二区三区四区五区| 久久97超碰色| 777午夜精品免费视频| 国产片一区二区三区| 国产精品一二三区在线| 午夜精品福利一区二区三区蜜桃| 中国av一区二区三区| 欧美精品一区二区三区蜜桃| 欧美性猛交xxxxxxxx| 91免费精品国自产拍在线不卡| 国产一区二区久久| 蜜桃视频免费观看一区| 亚洲第一搞黄网站| 亚洲午夜视频在线观看| 亚洲欧美另类小说视频| 欧美国产日韩在线观看| 26uuu亚洲| 日韩美女视频一区二区在线观看| 欧美群妇大交群中文字幕| 一本到不卡免费一区二区| 成人激情免费网站| 成人精品gif动图一区| 国产尤物一区二区在线| 精品一区二区三区在线播放| 伦理电影国产精品| 久久99久久久久久久久久久| 免费看精品久久片| 美女尤物国产一区| 色久综合一二码| caoporm超碰国产精品| 中文字幕第一区| 2023国产精华国产精品| 久久伊99综合婷婷久久伊| www激情久久| 国产亚洲精品资源在线26u| 国产女人18毛片水真多成人如厕| 日韩精品专区在线影院观看| 日韩美一区二区三区| 久久久久久久久久美女| 欧美激情综合在线| 1024成人网色www| 一区二区三区产品免费精品久久75| 亚洲特黄一级片| 亚洲午夜免费福利视频| 麻豆精品新av中文字幕| 国产成人激情av| 97se亚洲国产综合自在线观| 欧美性大战久久久久久久| 666欧美在线视频| www国产亚洲精品久久麻豆| 日本一二三不卡| 亚洲影视在线观看| 免费xxxx性欧美18vr| 日本一区二区高清| av一区二区三区四区| 国产一区二区三区不卡在线观看 | 国产亚洲综合性久久久影院| 日本一区二区免费在线| 亚洲综合激情小说| 捆绑紧缚一区二区三区视频 | 欧美一区永久视频免费观看| 欧美一区二区三区啪啪| 国产精品水嫩水嫩| 午夜精品成人在线| 成人激情小说网站| 欧美大白屁股肥臀xxxxxx| 欧美激情一区三区| 视频一区二区不卡| zzijzzij亚洲日本少妇熟睡| 欧美日韩精品高清| 国产精品成人免费| 久久精品国产在热久久| 91丨九色porny丨蝌蚪| 日韩免费观看高清完整版在线观看| 国产精品国产三级国产普通话99 | 日韩和的一区二区| av日韩在线网站| 精品国产自在久精品国产| 亚洲精品免费电影| 国产黄色91视频| 欧美精品久久99久久在免费线| 国产人成亚洲第一网站在线播放| 婷婷中文字幕综合| 91蜜桃网址入口| 国产日韩成人精品| 免费高清在线视频一区·| 欧美亚男人的天堂| 国产精品不卡一区| 国产91精品入口| 精品久久久网站| 日韩国产在线观看| 日本乱码高清不卡字幕| 中文字幕成人网| 国产精品18久久久| 久久综合九色欧美综合狠狠 | 日本一区中文字幕| 欧美亚洲一区三区| 日韩美女视频一区二区 | 国产精品国产自产拍高清av| 国产一区二区三区香蕉| 日韩一区二区免费高清| 天堂va蜜桃一区二区三区漫画版| 95精品视频在线| 中文字幕中文字幕中文字幕亚洲无线| 国产一区二区伦理片| 久久免费精品国产久精品久久久久 | 日韩一区欧美小说| 成人精品鲁一区一区二区| 国产精品欧美综合在线| 国产传媒久久文化传媒|