亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > C > 正文

c語(yǔ)言求1+2+...+n的解決方法

2020-01-26 16:10:12
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
題目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等關(guān)鍵字以及條件判斷語(yǔ)句(A?B:C)。
分析:這道題沒(méi)有多少實(shí)際意義,因?yàn)樵谲浖_(kāi)發(fā)中不會(huì)有這么變態(tài)的限制。但這道題卻能有效地考查發(fā)散思維能力,而發(fā)散思維能力能反映出對(duì)編程相關(guān)技術(shù)理解的深刻程度。
通常求1+2+…+n 除了用公式n(n+1)/2之外,無(wú)外乎循環(huán)和遞歸兩種思路。由于已經(jīng)明確限制for和while的使用,循環(huán)已經(jīng)不能再用了。同樣,遞歸函數(shù)也需要用if語(yǔ)句或者條件判斷語(yǔ)句來(lái)判斷是繼續(xù)遞歸下去還是終止遞歸,但現(xiàn)在題目已經(jīng)不允許使用這兩種語(yǔ)句了。
我們?nèi)匀粐@循環(huán)做文章。循環(huán)只是讓相同的代碼執(zhí)行n遍而已,我們完全可以不用for和while達(dá)到這個(gè)效果。比如定義一個(gè)類,我們new一含有n個(gè)這種類型元素的數(shù)組,那么該類的構(gòu)造函數(shù)將確定會(huì)被調(diào)用n次。我們可以將需要執(zhí)行的代碼放到構(gòu)造函數(shù)里。如下代碼正是基于這個(gè)思路:
復(fù)制代碼 代碼如下:

class Temp
{
private:
 static int N;
 static int Sum;
public:
 Temp() {   ++ N;   Sum += N;    }
 static void Reset() {   N = 0;   Sum = 0; }
 static int GetSum() {   return Sum;   }
};
int Temp::N = 0;    //靜態(tài)成員的值對(duì)所有的對(duì)象是一樣的。靜態(tài)成員可以被初始化,但只能在類體外進(jìn)行初始化。
int Temp::Sum = 0;
int solution1_Sum(int n)
{
 Temp::Reset();
 Temp *a = new Temp[n];
 delete []a;
 a = 0;
 return Temp::GetSum();
}

我們同樣也可以圍繞遞歸做文章。既然不能判斷是不是應(yīng)該終止遞歸,我們不妨定義兩個(gè)函數(shù)。一個(gè)函數(shù)充當(dāng)遞歸函數(shù)的角色,另一個(gè)函數(shù)處理終止遞歸的情況,我們需要做的就是在兩個(gè)函數(shù)里二選一。從二選一我們很自然的想到布爾變量,比如ture(1)的時(shí)候調(diào)用第一個(gè)函數(shù),false(0)的時(shí)候調(diào)用第二個(gè)函數(shù)。那現(xiàn)在的問(wèn)題是如和把數(shù)值變量n轉(zhuǎn)換成布爾值。如果對(duì)n連續(xù)做兩次反運(yùn)算,即!!n,那么非零的n轉(zhuǎn)換為true,0轉(zhuǎn)換為false。有了上述分析,我們?cè)賮?lái)看下面的代碼:
復(fù)制代碼 代碼如下:

class A;
A* Array[2];
class A
{
public:
 virtual int Sum (int n) { return 0; }
};
class B: public A
{
public:
 virtual int Sum (int n) { return Array[!!n]->Sum(n-1)+n; }
};
int solution2_Sum(int n)
{
 A a;

 Array[0] = &a;
 Array[1] = &b;
 int value = Array[1]->Sum(n);
 return value;
}

這種方法是用虛函數(shù)來(lái)實(shí)現(xiàn)函數(shù)的選擇。當(dāng)n不為零時(shí),執(zhí)行函數(shù)B::Sum;當(dāng)n為0時(shí),執(zhí)行A::Sum。我們也可以直接用函數(shù)指針數(shù)組,這樣可能還更直接一些:
復(fù)制代碼 代碼如下:

typedef int (*fun)(int);
int solution3_f1(int i)
{
 return 0;
}
int solution3_f2(int i)
{
 fun f[2]={solution3_f1, solution3_f2};
 return i+f[!!i](i-1);
}

另外我們還可以讓編譯器幫我們來(lái)完成類似于遞歸的運(yùn)算,比如如下代碼:
復(fù)制代碼 代碼如下:

template <int n> struct solution4_Sum
{
 enum Value { N = solution4_Sum<n - 1>::N + n};
};
template <> struct solution4_Sum<1>
{
 enum Value { N = 1};
};

solution4_Sum<100>::N就是1+2+...+100的結(jié)果。當(dāng)編譯器看到solution4_Sum<100>時(shí),就是為模板類
solution4_Sum以參數(shù)100生成該類型的代碼。但以100為參數(shù)的類型需要得到以99為參數(shù)的類型,因?yàn)閟olution4_Sum<100>::N=solution4_Sum<99>::N+100。這個(gè)過(guò)程會(huì)遞歸一直到參數(shù)為1的類型,由于該類型已經(jīng)顯式定義,編譯器無(wú)需生成,遞歸編譯到此結(jié)束。由于這個(gè)過(guò)程是在編譯過(guò)程中完成的,因此要求輸入n必須是在編譯期間就能確定,不能動(dòng)態(tài)輸入。這是該方法最大的缺點(diǎn)。而且編譯器對(duì)遞歸編譯代碼的遞歸深度是有限制的,也就是要求n不能太大。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

91香蕉视频网址| 一区二区三区欧美在线观看| 欧美成人禁片在线www| 久久久久久国产精品mv| 中文字幕の友人北条麻妃| 欧美精品亚洲二区| 人在线成免费视频| 免费观看四虎精品成人| 欧美精品中文字幕一区二区| 成人一区福利| 伊人成综合网yiren22| 99视频在线| 国产成人精品a视频| 青青草在线免费观看| 国产91精品久久久久久久| 亚洲精品色午夜无码专区日韩| 国产伦精品一区二区三区视频网站| 中文字幕一区二区三区四区免费看| 国产精品美女毛片真酒店| 日本一区二区三区视频在线播放| 亚洲天堂在线视频观看| 国产精品国产三级国产专区53| 八戒八戒神马在线电影| 欧美13一16娇小xxxx| 久久久天堂国产精品| 欧美在线观看视频| 亚洲影视中文字幕| 久久影视免费观看| 先锋音影av资源中文网| 嫩草黄色影院| 亚洲色诱最新| 麻豆久久久久久久| 欧美在线免费视频| 国产乱码一区| 亚洲欧美日韩精品久久久| 日韩美女视频免费在线观看| 久久久精品人体av艺术| 国产免费久久精品| 红桃成人av在线播放| 黄网站app在线观看大全免费视频| 亚洲精品一区二区三区在线观看| 国产乱码精品| 色婷婷av一区二区| 日本成人中文字幕在线视频| 久草在线资源视频在线观看| yw.尤物在线精品视频| 日本熟妇一区二区三区| 国模娜娜一区二区三区| 久久视频在线观看免费| 日本久久久久久久久久| 午夜福制92视频| 欧美视频精品全部免费观看| 国产精品免费电影| 豆国产97在线 | 亚洲| 中文字幕一区二区三区人妻在线视频| 久久你懂得1024| 午夜伊人狠狠久久| 欧美久久久久久久久中文字幕| 国产美女久久精品| 青青草手机在线| 最近在线中文字幕| 在线观看成人影院| 麻豆电影传媒二区| 1024在线看片你懂得| 高清免费日韩| 欧美日韩综合久久| 日韩天堂在线| 婷婷激情5月天| 成人午夜av| www.黄色在线观看| 欧美极品少妇无套实战| 中文字幕一区二区三区5566| 国产精品999在线观看| 亚洲国产网址| 136福利视频导航| av成人免费网站| 风间由美性色一区二区三区| 在线播放亚洲精品| 亚洲一区二区三区成人在线视频精品| 粉嫩高清一区二区三区精品视频| 狠狠色丁香久久婷婷综| 日韩电影在线观看中文字幕| 亚洲第一综合天堂另类专| 久久99久久久久久久久久久| 色播视频在线播放| 嫩草香蕉在线91一二三区| 超碰在线视屏| 97在线视频免费| 熟妇人妻久久中文字幕| 精品国产乱码一区二区| 原谅我中文字幕| 国产在线黄色| v片在线观看| 久草在线资源福利| 欧美日韩dvd在线观看| 久久青草视频| 日韩女优制服丝袜电影| 国产精品一区一区| 999国产精品一区| 怡春院在线视频| 色综合99久久久无码国产精品| 91女厕偷拍女厕偷拍高清| 久久久国产精品视频| 国产精品一区二区在线| 99久久精品情趣| 黄色成人av网| www.四虎.com| 成人网av.com/| 免费在线黄色av| 麻豆精品在线| 国产精品黄色在线观看| 亚洲成人99| 欧美二区三区| 亚洲国产精品久久久天堂| 永久免费av无码网站性色av| 日本理论片2828理论片| 国产真人真事毛片视频| 亚洲伊人网在线观看| 色黄视频免费看| 亚洲一二三区在线| 亚洲人体视频| 触手亚洲一区二区三区| 成人网免费视频| 天天操天天干天天爱| www.伊人久久| h动漫在线视频| 偷偷操不一样的久久| 午夜羞羞小视频在线观看| 日韩亚洲视频| 亚洲а∨天堂久久精品2021| 717影院理论午夜伦不卡久久| xfplay爱情电影网love| 成人午夜精品福利免费| 99视频精品| 国产精品678| 国产精品自产拍在线观看中文| 国产三级精品在线不卡| 欧美成人tv| 岛国一区二区在线观看| 久久99国产精品久久99大师| xxx欧美尤物xxx| 亚洲国内在线| 精品久久久久久中文字幕| 美女又爽又黄视频毛茸茸| 99久久久无码国产精品不卡| 青青草国产在线| 男人日女人的bb| 香蕉大人久久国产成人av| 欧美激情影院| 日韩在线看片| 在线一区二区三区做爰视频网站| 亚洲精品视频一二三| 久久国内精品一国内精品| 一本色道久久亚洲综合精品蜜桃| 91亚洲一区| 欧美成人午夜做爰视频在线观看| 路边理发店露脸熟妇泻火| 在线观看国产一区二区三区| 欧美精彩一区二区三区| 91欧美一区二区三区| 99re6这里只有精品| 黄色小视频在线免费观看| 欧美男gay| 欧美不卡在线一区二区三区| 精品中文av资源站在线观看| 日韩欧美在线网址| 高清全集视频免费在线| 国产精品免费小视频| 日韩午夜视频在线观看| 欧美午夜不卡影院在线观看完整版免费| 成人精品一区二区三区| 性网站在线观看| 日韩毛片高清在线播放| 欧美尤物巨大精品爽| 乱老熟女一区二区三区| 亚洲色图首页| 精品国产成人av| 欧美国产综合一区二区| 影音先锋国产资源站| 日本一区二区综合亚洲| 天天操夜夜干| 97人人澡人人爽91综合色| 97在线免费观看| 亚洲免费专区| 日本在线观看中文字幕| 国产伦精品一区二区三区| 乳奴隷乳フ辱| 天堂在线观看免费视频| 久草在线资源站资源站| 亚洲人成色777777老人头| 色呦呦在线资源| 少妇高潮一区二区三区69| 日本黄色录像视频| 国产精品入口免费麻豆| 欧洲美女少妇精品| 中文字幕一区二区人妻| 综合在线观看色| 麻豆亚洲av成人无码久久精品| 蜜桃臀av在线| 久久中文字幕一区| 久草免费新视频| 日本精品久久久| 国产美女福利在线观看| 中国成人在线视频| 国产乡下妇女三片| 欧美午夜黄色| 亚洲日本三级| 成年在线观看免费人视频| 一级片在线免费观看视频| 亚洲国产精品va在线看黑人动漫| 日韩在线xxx| 国产精品91xxx| 日韩制服丝袜av| 一区二区欧美精品| 4444kk亚洲人成电影在线| 日韩影院二区| 欧美日韩在线播放三区四区| 亚洲乱码国产乱码精品天美传媒| 成人国产精品免费观看| 免费高清视频在线一区| 香蕉影院在线观看| 一本色道69色精品综合久久| 亚洲自拍的二区三区| 亚洲一区二区三区免费看| 国产日韩欧美精品在线| 国产麻豆成人传媒免费观看| 少妇大叫太大太粗太爽了a片小说| 性无码专区无码| 国产免费一区二区三区在线能观看| 精品免费二区三区三区高中清不卡| 久久品道一品道久久精品| 一本加勒比hezyo黑人| 国产综合av在线| 欧美成人首页| 日韩av一区二区三区在线| 99久久国产免费免费| 91精品国产自产观看在线| 日本欧美在线观看| 成人性做爰片免费视频| 亚洲 欧美 日韩 国产综合 在线| 99精品一区二区三区的区别| 国产三区视频在线观看| 欧美日韩一级二级| 波多野结衣在线观看视频| 欧洲有码在线视频| 高清av免费看| 电影网一区二区| 欧美日韩激情视频| 摸bbb搡bbb搡bbbb| 好吊一区二区三区视频| 女人被狂躁c到高潮| av在线免费观看网站| 在线视频成人| www.成人在线视频| 国内精品久久久久久影院8f| aaa亚洲精品| 久久精品视频久久| 日韩成人一区二区| 欧美日韩精品一区二区三区在线观看| 久久精品夜夜夜夜夜久久| 一个人看的视频www在线观看免费| 在线免费黄色av| 色婷婷综合视频在线观看| 日韩免费av片| av网站免费大全| 国产成人无码一区二区在线播放| 亚洲欧美中文在线视频| 久久精品视频18| 97人人精品| 亚洲黄色av一区| 韩国av电影在线观看| 在线视频欧美一区| 最新中文字幕av| 亚洲图片小说区| 国产精品久久777777| aaawww| 99久久久无码国产精品| 婷婷五月精品中文字幕| 成人精品999| 亚洲成人av在线| 中文字幕一区二区三区在线视频| 久久久蜜臀国产一区二区| 欧美高清视频一区二区三区在线观看| 小说区图片区综合久久亚洲| 欧美96一区二区免费视频| 中文字幕一区二区三区免费看| 久久97久久97精品免视看秋霞| 亚洲色图综合图区| 国产98色在线|日韩| 欧美成人免费在线观看视频| 日韩美女免费线视频| 五月综合激情网| 亚洲一区欧美二区| 成人看的视频| 亚洲在线不卡| 人人做人人澡人人爽欧美| 国产伦一区二区三区色一情| 91精品视频播放| 国产91精品久久久| 精品国产91亚洲一区二区三区婷婷| 亚洲在线视频免费观看| 黄色a在线观看| 精品国产电影一区二区| 中文字幕久久久久| 国产精品乱人伦中文| 制服黑丝国产在线| 欧美黄网站色视频| 亚洲天堂av网| 国产成一区二区| 国产伦精品一区二区三区千人斩| 欧美日韩性生活视频| 色综合久久中文字幕综合网| 成人动漫中文字幕| av电影天堂一区二区在线| 一区二区三区| 五月久久久综合一区二区小说| 国产精品免费视频一区二区| 欧美乱大交做爰xxxⅹ小说| 亚洲视频一二区| 国产精品一区二区在线观看网站| 欧洲美熟女乱又伦| 国产欧美va欧美不卡在线| 久久久久人妻一区精品色| 色哟哟免费在线观看| 国产在线资源| av毛片在线播放| 日韩va欧美va亚洲va久久| 久久婷婷国产麻豆91|