第一篇:程序計(jì)算麻將游戲的思路
程序計(jì)算麻將游戲的思路
(789游戲中心)
問(wèn):在789游戲中心,如果其它三家中,某一個(gè)人手上有且只有一個(gè)“東風(fēng)”,那么,他會(huì)把這個(gè)“東風(fēng)”打到海里去的可能性是90%。到了第9圈后(河里還有52張牌,其它三家手上共有39張牌,自己手上也有13張牌),自己手上有一個(gè)“東風(fēng)”,可是其它三家都沒(méi)有打“東風(fēng)”,那么,其它三家里的某一家有一對(duì)“東風(fēng)”的可能性是多大?
【計(jì)算方法】
無(wú)法用簡(jiǎn)單的算式表示。雖然逐條詳細(xì)的寫(xiě)出來(lái)也不是不可以,但是還是交給程序計(jì)算比較好。
如果單單使用判斷全部的排列組合是否是和牌型這種方法,花費(fèi)的將是天文時(shí)間。
采用的是下面的計(jì)算順序。
(1)除去七對(duì)子和國(guó)士無(wú)雙,和牌型中,字牌,萬(wàn),筒,索的張數(shù)可能為0張,2張,3張,5張,6張,8張,9張,11張,12張,14張。
(2)根據(jù)上述的張數(shù),計(jì)算字牌與數(shù)牌每種(n個(gè)面子+最多1個(gè)雀頭)的排列組合數(shù),這時(shí)順便計(jì)算出所有牌都是對(duì)子的排列組合數(shù)。
(3)根據(jù)四種牌合計(jì)14張的組合,計(jì)算其排列組合數(shù),不過(guò)雀頭只能有一個(gè),5張字,5張萬(wàn),2張筒,2張索這種不可能發(fā)生的組合是不計(jì)算在內(nèi)的。
(4)從上述的結(jié)果中,去掉形為七對(duì)子的牌型。
(5)計(jì)算七對(duì)子的和牌型的排列組合數(shù)。
七對(duì)子的和牌型排列組合數(shù)為34C7
包括重復(fù)的排列組合數(shù)為34C7×67
(6)計(jì)算國(guó)士無(wú)雙和牌型的排列組合數(shù)。
國(guó)士無(wú)雙和牌型的排列組合共有13種
包括重復(fù)的排列組合數(shù)為13×6×412
(7)加算上(4)~(6)合計(jì)的排列組合數(shù)(包括重復(fù)),可以計(jì)算出其概率??偣驳乃信帕薪M合(包括重復(fù))為136C14
(8)程序計(jì)算并沒(méi)有花費(fèi)太多的時(shí)間,可以確認(rèn)程序是正常運(yùn)行的。同樣計(jì)算出(1)~(3)的所有排列組合數(shù)(包括重復(fù))。計(jì)算字牌與數(shù)牌的0~14張所有的排列組合,四種牌合計(jì)14張的所有組合數(shù)。
第二篇:麻將翻數(shù)計(jì)算(精)[推薦]
1◇◆一條龍3種花色的3副順子連接成1-9的序數(shù)牌
2◇◆推不倒 由牌面圖形沒(méi)有上下區(qū)別的牌組成的和牌,包括1234589餅、245689條、白板。不計(jì)缺一門(mén)
3◇◆海底撈月 和打出的最后一張牌
4◇◆妙手回春 自摸牌墻上最后一張牌和牌。不計(jì)自摸
5◇◆杠上開(kāi)花 開(kāi)杠抓進(jìn)的牌成和牌(不包括補(bǔ)花)不計(jì)自摸
6◇◆三色節(jié)節(jié)高 和牌時(shí),有3種花色3副依次遞增一位數(shù)的刻子
7◇◆三色三同順 和牌時(shí),有3種花色3副序數(shù)相同的順子
8◇◆無(wú)番和 和牌后,數(shù)不出任何番種分(花牌不計(jì)算在內(nèi))
9◇◆搶杠和 和別人自抓開(kāi)明杠的牌。不計(jì)和絕張
從實(shí)踐來(lái)看,第1、6、7是常用的牌型,也比較好打,容易成牌,應(yīng)該是新打國(guó)標(biāo)的朋友必須掌握的牌型。第2、5、9種牌型是靠手氣的,有點(diǎn)兒運(yùn)氣成分在里面。第8種是一個(gè)技術(shù)難度高的牌,新手不容易成牌。第3、4兩種牌型是打牌至快結(jié)束時(shí),已無(wú)法計(jì)番而只要保留可以成牌的打子,最后碰運(yùn)氣而已。
■▲▲■㈡次選牌型:12番
1◇◆組合龍 3種花色的147、258、369不能錯(cuò)位的序數(shù)牌
2◇◆十三不靠 由單張3種花色147、258、369不能錯(cuò)位的序數(shù)牌及東南西北中發(fā)白中的任何14張牌組成的和牌。不計(jì)五門(mén)齊、不求人、單釣
3◇◆大于五 由序數(shù)牌6-9的順子、刻子、將牌組成的和牌。不計(jì)無(wú)字
4◇◆小于五 由序數(shù)牌1-4的順子、刻子、將牌組成的和牌。不計(jì)無(wú)字
5◇◆三風(fēng)刻 3個(gè)風(fēng)刻
這幾個(gè)牌型也是國(guó)標(biāo)常用牌型。只要起手有符合這幾種牌型的8張以上,就可嘗試。特別是十三不靠,如果東、南、西、北、中、發(fā)、白都有的話,就可以打成七星不靠(24番)。而大于五和小于五都很容易向全大和全小(24番)變化。■▲▲■㈢再選牌型:16番
1◇◆青龍 和牌時(shí),有一種花色1-9相連接的序數(shù)牌
2◇◆全帶五 每副牌及將牌必須有5的序數(shù)牌。不計(jì)斷幺
3◇◆一色三步高 和牌時(shí),有一種花色3副依次遞增一位或依次遞增二位數(shù)字的順子
4◇◆三同刻 3個(gè)序數(shù)相同的刻子(杠)
5◇◆三色雙龍會(huì) 2種花色2個(gè)老少副、另一種花色5作將的和牌。不計(jì)喜相逢、老少副、無(wú)字、平和
6◇◆三暗刻 3個(gè)暗刻
這幾種牌型也是最常打的國(guó)標(biāo)牌型。青龍和一色三步高的變化是相互的,所以,在靠牌時(shí)應(yīng)特別注意,不要將一色中多余的一張?jiān)趬蚺浦按虻?,是很容易互相轉(zhuǎn)化的。全帶五主要看起手的牌,這種牌變化也多,可以打成三色三同順、三色三步高,也可以打成全中,在國(guó)標(biāo)麻將中,這也是變化較多的一種牌型。三色雙龍會(huì)的難度比較大,給人感覺(jué)國(guó)標(biāo)將此種牌型的番數(shù)定的偏低。
■▲▲■㈣國(guó)標(biāo)小番:6番~4番
○○○◆6番
1◇◆三色三步高 3種花色3副依次遞增一位序數(shù)的順子
2◇◆混一色 由一種花色序數(shù)牌及字牌組成的和牌
3◇◆五門(mén)齊 和牌時(shí)3種序數(shù)牌、風(fēng)、箭牌齊全
4◇◆雙箭刻 2副箭刻(或杠)
5◇◆全求人 全靠吃牌、碰牌、單釣別人批出的牌和牌。不計(jì)單釣
6◇◆碰碰和 由4副刻子(或杠)、將牌組成的和牌
7◇◆雙暗杠 2個(gè)暗杠
這是一般的國(guó)標(biāo)選手喜歡使用的牌型,因?yàn)檫@些牌型來(lái)得快、容易成牌,再用一些小番補(bǔ)充,很快就能聽(tīng)牌。其中三色三步高、五門(mén)齊是國(guó)標(biāo)老手喜歡的牌型,混一色、全求人、碰碰胡是一些國(guó)標(biāo)新手喜歡選用的牌型。但是這些牌有一個(gè)缺點(diǎn)是牌型明顯,對(duì)于國(guó)標(biāo)老手來(lái)說(shuō)很容易看出對(duì)方所聽(tīng)的牌型。雙箭刻、雙暗杠主要是手氣,一般是碰上了這些牌型就可以聽(tīng)牌,但專門(mén)打這種牌型的人很少,沒(méi)有手氣是很難打成的。
○○○◆4番
1◇◆全帶幺 和牌時(shí),每副牌、將牌都有幺牌
2◇◆和決張 和牌池、桌面已亮明的3張牌所剩的第4張牌(搶杠和不計(jì)和絕張)
3◇◆不求人 4副牌及將中沒(méi)有吃牌、碰牌(包括明杠),自摸和牌
4◇◆雙明杠 2個(gè)明杠
這些是國(guó)標(biāo)小番的的補(bǔ)充牌,如果配合其他零星牌型(1番和2番的牌型),可以作為胡牌的簡(jiǎn)單打法。這些牌型也是在起手牌很差的情況下慣用的牌型。但是由于算番側(cè)重于小番,打這幾個(gè)牌型的朋友必須熟悉小番的算法,因此,國(guó)標(biāo)老手們使用這些牌型的多,新人用這些牌型胡牌,一般是撞大運(yùn)的。■▲▲■㈤國(guó)標(biāo)中番:24番~48番
○○○◆24番
1◇◆七星不靠 必須有7個(gè)單張的東西南北中發(fā)白,加上3種花色,數(shù)位按147、258、369中的7張序數(shù)牌組成沒(méi)有將牌的和牌。不計(jì)五門(mén)齊、不求人、單釣
2◇◆七小對(duì) 由7個(gè)對(duì)子組成和牌。不計(jì)不求人、單釣
3◇◆全雙刻 由2、4、6、8序數(shù)牌的刻了、將牌組成的和牌。不計(jì)碰碰和、斷幺
4◇◆全大 由序數(shù)牌789組成的順了、刻子(杠)、將牌的和牌。不計(jì)無(wú)字
5◇◆全中 由序數(shù)牌456組成的順子、刻子(杠)、將牌的和牌。不計(jì)斷幺
6◇◆全小 由序數(shù)牌123組成的順子、刻子(杠)將牌的的和牌。不計(jì)無(wú)字
7◇◆一色三節(jié)高 和牌時(shí)有一種花色3副依次遞增一位數(shù)字的刻了。不計(jì)一色三同順
8◇◆一色三同順 和牌時(shí)有一種花色3副序數(shù)相同的順了。不計(jì)一色三節(jié)高
9◇◆清一色 由一種花色的序數(shù)牌組成和各牌。不無(wú)字
這是一般國(guó)標(biāo)高手喜歡使用的牌型,特別是在和菜鳥(niǎo)打牌時(shí),由于新手聽(tīng)牌慢,所以,他們就喜歡用這些牌型以求得到高分。當(dāng)然,在正式比賽時(shí),也喜歡用這些牌型。以七星不靠、全大、全中、全小、清一色這幾個(gè)牌型來(lái)說(shuō),變化多,可以由低番牌十三不靠、大于
五、全帶
五、小于
五、青龍等變化而來(lái),所以,這些牌型為多數(shù)國(guó)標(biāo)老手所喜愛(ài)。七小對(duì)、全雙刻主要是以起手的牌型所決定,手氣對(duì)這兩個(gè)牌型比較重要。一色三節(jié)高和一色三同順是比較難打的,但三節(jié)高容易成牌,只要有一色兩同順,就可以發(fā)狠勁等牌。
○○○◆32番
1◇◆混幺九 由字牌和序數(shù)牌一、九的刻了用將牌組成的各牌。不計(jì)碰碰和
2◇◆一色四步高 一種花色4副依次遞增一位數(shù)或依次遞增二位數(shù)的順子
3◇◆三杠 3個(gè)杠
總體來(lái)說(shuō),這三種牌型都有一定的難度,如果硬性去打其中的一種牌型是很難的,必須有好的起手牌,才有可能打成。三杠是不容易的,除了牌技以外,運(yùn)氣占多數(shù);一色四步高相對(duì)來(lái)說(shuō)是容易成牌的,它在一色三步高的基礎(chǔ)上可以變化而來(lái);混幺九如果起手幺九牌對(duì)子較多,就有可能打成。
○○○◆48番
1◇◆一色四節(jié)高 一種花色4副序數(shù)相同的順子,不計(jì)一色三節(jié)高、一般高、四歸一
2◇◆一色四同順 一種花色4副依次遞增一位數(shù)的刻子不計(jì)一色三同順、碰碰和
這兩種牌型如果打成了是非常好看的,但是,其難度是顯而易見(jiàn)的,“只可意會(huì),不可強(qiáng)求”!■▲▲■㈥國(guó)標(biāo)高番:64番~88番
○○○◆64番
1◇◆小四喜 和牌時(shí)有風(fēng)牌的3副刻子及將牌。不計(jì)三風(fēng)刻
2◇◆小三元 和牌時(shí)有箭牌的兩副刻子及將牌。不計(jì)箭刻
3◇◆清幺九 由序數(shù)牌一、九刻子組成的和牌。不計(jì)碰碰和、同刻、元字
4◇◆一色雙龍會(huì) 一種花色的兩個(gè)老少副,5為將牌。不計(jì)平各、七對(duì)、清一色
5◇◆字一色 由字牌的刻子(杠)、將組成的和牌。不計(jì)碰碰和
6◇◆四暗刻 4個(gè)暗刻(暗杠)。不計(jì)門(mén)前清、碰碰和
高番牌的打法已經(jīng)不重要了,主要在心理和戰(zhàn)略上。沒(méi)有良好的心理準(zhǔn)備和戰(zhàn)略觀念,遇到可以胡中番和小番的就會(huì)胡牌。這個(gè)里面的小三元是最容易打成的高番牌型,給人的感覺(jué)是定番太高,難度小,和其他高番牌相比出現(xiàn)的機(jī)率也是最高的(非經(jīng)正式統(tǒng)計(jì))。一色雙龍會(huì)是惟一技巧性強(qiáng)一些的牌型。
○○○◆88番
1◇◆四杠 4個(gè)杠
2◇◆九蓮寶燈 由一種花色序數(shù)牌子按1112345678999組成的特定牌型,見(jiàn)同花色任何1張序數(shù)牌即成和牌。不計(jì)清一色
3◇◆綠一色 由23468條及發(fā)字中的任何牌組成的順子、刻
五、將的和牌。不計(jì)混一色。如無(wú)“發(fā)”字組成的各牌,可計(jì)清一色
4◇◆大三元 和牌中,有中發(fā)白3副刻子。不計(jì)箭刻
5◇◆大四喜 由4副風(fēng)刻(杠)組成的和牌。不計(jì)圈風(fēng)刻、門(mén)風(fēng)刻、三風(fēng)刻、碰碰和
6◇◆連七對(duì) 由一種花色序數(shù)牌組成序數(shù)相連的7個(gè)對(duì)子的和牌。不計(jì)清一色、不求人、單釣
7◇◆十三幺 由3種序數(shù)牌的一、九牌,7種字牌及其中一對(duì)作將組成的和牌。不計(jì)五門(mén)齊、不求人、單釣
這幾種牌型是國(guó)標(biāo)麻將中的極品,打成的話最少會(huì)高興兩三天吧!這里面有兩個(gè)牌型值得注意,一個(gè)是九蓮寶燈,這是個(gè)爭(zhēng)議比較多的牌型,主要是這個(gè)牌型成牌的過(guò)程和最終的牌型,容易引起誤解。從國(guó)標(biāo)的規(guī)則來(lái)說(shuō)是注重成牌的過(guò)程的,所以,即使最終的牌型和九蓮寶燈一樣,但如果成牌過(guò)程有差別,可能不會(huì)算88高番的。另一個(gè)是大三元,應(yīng)該說(shuō),這個(gè)牌型是容易打成的,和小三元的觀念一樣,只要心狠一些,成牌早,就完全可以打成。這幾個(gè)高番牌里面還有一個(gè)牌型很有意思,就是綠一色,這個(gè)牌在起手條子好的情況下不妨一試,如果有發(fā)財(cái)助威,打成的可能性更大。并且這個(gè)牌型也很好看,綠綠的。我胡過(guò)這個(gè)牌,感覺(jué)很爽!其他的就不說(shuō)了,如果胡了,你的對(duì)家和上下家會(huì)覺(jué)得你是“匪夷所思、天公造物”!
■▲▲■㈦國(guó)標(biāo)零星小番:1番~2番
○○○◆2番
1◇◆斷幺九 和牌中沒(méi)有一、九及字牌 1 番
2◇◆四歸一 和牌中,有4張相同的牌歸于一家的順、刻子、對(duì)、將牌中(不包括杠牌)
3◇◆平和 由4副順子及序數(shù)牌作將組成的和牌,邊、坎、釣不影響平和
4◇◆雙暗刻 2個(gè)暗刻
5◇◆兩同刻 2副序數(shù)相同的刻子
6◇◆圈風(fēng)刻 與圈風(fēng)相同的風(fēng)刻
7◇◆門(mén)風(fēng)刻 與本門(mén)風(fēng)相同的風(fēng)刻
8◇◆箭刻 由中、發(fā)、白3張相同的牌組成的刻子
9◇◆門(mén)清 沒(méi)有吃、碰、明杠,和別人打出的牌
10◇◆暗杠 自抓4張相同的牌開(kāi)杠
○○○◆1番
1◇◆老少配 一種花色牌的123、789兩副順子
2◇◆一般高 由一種花色2副相同的順子組成的牌
3◇◆缺一門(mén) 和牌中缺少一種花色序數(shù)牌
4◇◆無(wú)字 和牌中沒(méi)有風(fēng)、箭牌
5◇◆幺九刻 3張相同的一、九序數(shù)牌及字牌組成的刻子(或杠)
6◇◆六連張 一種花色6張相連接的序數(shù)牌
7◇◆鑲邊
8◇◆嵌單 和2張牌之間的牌。4556和5也為坎張,手中有45567和6不算坎張
9◇◆單釣 釣單張牌作將成和
10◇◆自摸 自己抓進(jìn)牌成和牌
11◇◆明杠 自己有暗刻,碰別人打出的一張相同的牌開(kāi)杠:或自己抓進(jìn)一張與碰的明刻相同的牌開(kāi)杠
12◇◆喜相逢 2種花色2副序數(shù)相同的順子
13◇◇花牌 即春夏秋冬,梅蘭竹菊,每花計(jì)一分。不計(jì)在起和分內(nèi),和牌后才能計(jì)分?;ㄅ蒲a(bǔ)花成和計(jì)自摸分,不計(jì)杠上開(kāi)花
自從打國(guó)標(biāo)麻將以來(lái),我終于認(rèn)識(shí)到“細(xì)微之處見(jiàn)精神”,只有那些國(guó)標(biāo)老手,特別是高手們是完全掌握了這些零星番牌的。對(duì)于“先聽(tīng)三分胡”、“胡牌才是最大”的道理也有了深刻理解。在成牌過(guò)程中,掌握這些零星番牌會(huì)受益非淺。首先,可以掌握先機(jī):在牌型一般的情況下,掌握先機(jī)會(huì)扭轉(zhuǎn)牌運(yùn),當(dāng)牌運(yùn)轉(zhuǎn)好,則可以做高番大牌,其胡牌機(jī)率也會(huì)相應(yīng)提高。比如:在作五門(mén)齊時(shí),有兩對(duì)時(shí),應(yīng)該先碰門(mén)風(fēng)或者圈風(fēng)或者幺九刻,這樣聽(tīng)牌和胡牌都會(huì)容易一些。同時(shí),掌握這些零星番牌也可以提高胡牌的質(zhì)量,如混一色牌型,幺九刻、老少配、六連張都會(huì)提高番數(shù),雖說(shuō)只是1番2番,但這代表的是胡牌的質(zhì)量和打牌者的水平。
第三篇:游戲麻將追劇
劇本:
小黑、小勇和雯雯在辦公室里睡覺(jué),老板走進(jìn)了辦公室說(shuō)—— 老板:你們?nèi)齻€(gè)怎么回事?這個(gè)年底了,大家都在認(rèn)真工作,你們睡覺(jué)。干啥去了?昨晚。小勇:昨晚我和朋友進(jìn)行了戰(zhàn)爭(zhēng)的相片演練,遵循商級(jí)戰(zhàn)場(chǎng)的理念。我昨晚通宵讀史。本著以史為鑒的態(tài)度。分析古人性心理共性,將古代錯(cuò)綜復(fù)雜的宮廷和官場(chǎng)斗爭(zhēng)進(jìn)行系統(tǒng)的總結(jié)。小黑:我昨晚和朋友進(jìn)行了抽樣統(tǒng)計(jì)實(shí)驗(yàn),從 144 個(gè)樣品中,隨機(jī)抓取 13 個(gè)樣品。從中不斷更換排列,以找到最高價(jià)值。
老板:把你們調(diào)到銷售部。短短兩個(gè)星期。就把打麻將、打游戲、追劇,說(shuō)的這么清新脫俗。人才啊,好好干!
拍攝建議:
1. 有字幕。
第四篇:電力系統(tǒng)潮流計(jì)算程序
電力系統(tǒng)潮流計(jì)算c語(yǔ)言程序,兩行,大家可以看看,仔細(xì)研究,然后在這個(gè)基礎(chǔ)上修改。謝謝
#include “stdafx.h” #include #include“Complex.h” #include“wanjing.h” #include“gauss.h” using namespace std; int _tmain(int argc, _TCHAR* argv[]){ int i; //i作為整個(gè)程序的循環(huán)變量 int N=Bus::ScanfBusNo();//輸入節(jié)點(diǎn)個(gè)數(shù) int L=Line::ScanflineNo();//輸入支路個(gè)數(shù) if((L&&N)==0){return 0;} //如果找不到兩個(gè)文件中的任意一個(gè),退出 Line *line=new Line[L];//動(dòng)態(tài)分配支路結(jié)構(gòu)體 Line::ScanfLineData(line);//輸入支路參數(shù) Line::PrintfLineData(line,L);//輸出支路參數(shù) Bus *bus=new Bus[N];//動(dòng)態(tài)分配結(jié)點(diǎn)結(jié)構(gòu)體 for(int i=0;i bus[i].Sdelta.real=0; bus[i].Sdelta.image=0;} Bus::ScanfBusData(bus);//輸入節(jié)點(diǎn)參數(shù) Bus::PrintfBusData(bus,N);//輸出結(jié)點(diǎn)參數(shù) Complex **X;X=new Complex *[N];for(i=0;i Bus::JisuanNodeDnz(X,line,bus,L,N);//計(jì)算節(jié)點(diǎn)導(dǎo)納矩陣 Bus::PrintfNodeDnz(X,N);//輸出節(jié)點(diǎn)導(dǎo)納矩陣 int NN=(N-1)*2;double **JacAug;JacAug=new double *[NN];for(i=0;i double *x;x=new double[NN];int count=1; LOOP: Bus::JisuanNodeI(X,bus,N);//計(jì)算節(jié)點(diǎn)注入電流 Bus::JisuanNodeScal(X,bus,N);//計(jì)算節(jié)點(diǎn)功率 Bus::JisuanNodeScal(X,bus,N);//計(jì)算節(jié)點(diǎn)功率 Bus::JisuanNodeSdelta(bus,N);//計(jì)算節(jié)點(diǎn)功率差值 Bus::PrintfNodeScal(X,bus,N);//輸出節(jié)點(diǎn)功率差值 int icon=wehcon1(bus,N);//whether converbence看迭代是否結(jié)束 if(icon==1){ cout<<“icon=”< Bus::JisuanJacAug(JacAug,X,bus,N);//計(jì)算雅可比增廣矩陣 // Bus::PrintfJacAug(JacAug,N); gauss::gauss_slove(JacAug,x,NN);//解方程組求出電壓差值 Bus::ReviseNodeV(bus,x,N);//修正節(jié)點(diǎn)電壓 // Bus::PrintfNodeV(bus,N); count++; goto LOOP;} else { for(i=0;i { int statemp,endtemp; Complex aa,bb,cc,dd,B; B.real=0; B.image=-line[i].B; statemp=line[i].start; endtemp=line[i].end; aa=Complex::productComplex(Complex::getconj(bus[statemp-1].V), B); bb=Complex::subComplex (Complex::getconj(bus[statemp-1].V), Complex::getconj(bus[endtemp-1].V)); cc=Complex::productComplex(bb , Complex::getconj(line[i].Y)); dd=Complex::CaddC(aa,cc); line[i].stoe=Complex::productComplex(bus[statemp-1].V,dd); aa=Complex::productComplex(Complex::getconj(bus[endtemp-1].V), B); bb=Complex::subComplex (Complex::getconj(bus[endtemp-1].V), Complex::getconj(bus[statemp-1].V)); cc=Complex::productComplex(bb , Complex::getconj(line[i].Y)); dd=Complex::CaddC(aa,cc); line[i].etos=Complex::productComplex(bus[endtemp-1].V,dd); } cout<<“icon=”< Bus::JisuanNodeScal(X,bus,N);//計(jì)算節(jié)點(diǎn)功率 for(i=0;i { bus[i].Scal.real = bus[i].Scal.real + bus[i].Load.real;//發(fā)電機(jī)功率=注入功率+負(fù)荷功率 bus[i].Scal.image= bus[i].Scal.image+ bus[i].Load.image; bus[i].V=Complex::Rec2Polar(bus[i].V); } cout<<“====節(jié)點(diǎn)電壓===============發(fā)電機(jī)發(fā)出功率======”< for(i=0;i { cout<<“節(jié)點(diǎn)”<<(i+1)<<'t'; Complex::PrintfComplex(bus[i].V); coutt(bus[i].Scal.real); coutt(bus[i].Scal.image); cout< } cout<<“======線路傳輸功率==========”< for(i=0;i { int statemp,endtemp; statemp=line[i].start; endtemp=line[i].end; cout< Complex::PrintfComplex(Complex::ComDivRea(line[i].stoe,0.01)); Complex::PrintfComplex(Complex::ComDivRea(line[i].etos,0.01)); cout< } } return 0;} #include “stdafx.h” #include #include“Complex.h” #include“wanjing.h” #include“gauss.h” using namespace std; int _tmain(int argc, _TCHAR* argv[]){ int i; //i作為整個(gè)程序的循環(huán)變量 int N=Bus::ScanfBusNo();//輸入節(jié)點(diǎn)個(gè)數(shù) int L=Line::ScanflineNo();//輸入支路個(gè)數(shù) if((L&&N)==0){return 0;} //如果找不到兩個(gè)文件中的任意一個(gè),退出 Line *line=new Line[L];//動(dòng)態(tài)分配支路結(jié)構(gòu)體 Line::ScanfLineData(line);//輸入支路參數(shù) Line::PrintfLineData(line,L);//輸出支路參數(shù) Bus *bus=new Bus[N];//動(dòng)態(tài)分配結(jié)點(diǎn)結(jié)構(gòu)體 for(int i=0;i bus[i].Sdelta.real=0; bus[i].Sdelta.image=0;} Bus::ScanfBusData(bus);//輸入節(jié)點(diǎn)參數(shù) Bus::PrintfBusData(bus,N);//輸出結(jié)點(diǎn)參數(shù) Complex **X;X=new Complex *[N];for(i=0;i Bus::JisuanNodeDnz(X,line,bus,L,N);//計(jì)算節(jié)點(diǎn)導(dǎo)納矩陣 Bus::PrintfNodeDnz(X,N);//輸出節(jié)點(diǎn)導(dǎo)納矩陣 int NN=(N-1)*2;double **JacAug;JacAug=new double *[NN];for(i=0;i double *x;x=new double[NN];int count=1; LOOP: Bus::JisuanNodeI(X,bus,N);//計(jì)算節(jié)點(diǎn)注入電流 Bus::JisuanNodeScal(X,bus,N);//計(jì)算節(jié)點(diǎn)功率 Bus::JisuanNodeScal(X,bus,N);//計(jì)算節(jié)點(diǎn)功率 Bus::JisuanNodeSdelta(bus,N);//計(jì)算節(jié)點(diǎn)功率差值 Bus::PrintfNodeScal(X,bus,N);//輸出節(jié)點(diǎn)功率差值 int icon=wehcon1(bus,N);//whether converbence看迭代是否結(jié)束 if(icon==1){ cout<<“icon=”< Bus::JisuanJacAug(JacAug,X,bus,N);//計(jì)算雅可比增廣矩陣 // Bus::PrintfJacAug(JacAug,N); gauss::gauss_slove(JacAug,x,NN);//解方程組求出電壓差值 Bus::ReviseNodeV(bus,x,N);//修正節(jié)點(diǎn)電壓 // Bus::PrintfNodeV(bus,N); count++; goto LOOP;} else { for(i=0;i { int statemp,endtemp; Complex aa,bb,cc,dd,B; B.real=0; B.image=-line[i].B; statemp=line[i].start; endtemp=line[i].end; aa=Complex::productComplex(Complex::getconj(bus[statemp-1].V), B); bb=Complex::subComplex (Complex::getconj(bus[statemp-1].V), Complex::getconj(bus[endtemp-1].V)); cc=Complex::productComplex(bb , Complex::getconj(line[i].Y)); dd=Complex::CaddC(aa,cc); line[i].stoe=Complex::productComplex(bus[statemp-1].V,dd); aa=Complex::productComplex(Complex::getconj(bus[endtemp-1].V), B); bb=Complex::subComplex (Complex::getconj(bus[endtemp-1].V), Complex::getconj(bus[statemp-1].V)); cc=Complex::productComplex(bb , Complex::getconj(line[i].Y)); dd=Complex::CaddC(aa,cc); line[i].etos=Complex::productComplex(bus[endtemp-1].V,dd); } cout<<“icon=”< Bus::JisuanNodeScal(X,bus,N);//計(jì)算節(jié)點(diǎn)功率 for(i=0;i { bus[i].Scal.real = bus[i].Scal.real + bus[i].Load.real;//發(fā)電機(jī)功率=注入功率+負(fù)荷功率 bus[i].Scal.image= bus[i].Scal.image+ bus[i].Load.image; bus[i].V=Complex::Rec2Polar(bus[i].V); } cout<<“====節(jié)點(diǎn)電壓===============發(fā)電機(jī)發(fā)出功率======”< for(i=0;i { cout<<“節(jié)點(diǎn)”<<(i+1)<<'t'; Complex::PrintfComplex(bus[i].V); coutt(bus[i].Scal.real); coutt(bus[i].Scal.image); cout< } cout<<“======線路傳輸功率==========”< for(i=0;i { int statemp,endtemp; statemp=line[i].start; endtemp=line[i].end; cout< Complex::PrintfComplex(Complex::ComDivRea(line[i].stoe,0.01)); Complex::PrintfComplex(Complex::ComDivRea(line[i].etos,0.01)); cout< } } return 0;} #include class Complex//定義復(fù)數(shù)類 { public: double real;double image;int RecPolar;//0表示直角坐標(biāo),1表示極坐標(biāo) static Complex CaddC(Complex c1,Complex c2);//求兩個(gè)復(fù)數(shù)和 static Complex subComplex(Complex c1,Complex c2);//求兩個(gè)復(fù)數(shù)差 static Complex productComplex(Complex c1,Complex c2);//求兩個(gè)復(fù)數(shù)積 static Complex divideComplex(Complex c1,Complex c2);//求兩個(gè)復(fù)數(shù)商 static Complex ComDivRea(Complex c1,double r2);//除數(shù) static Complex getconj(Complex c1);//求一個(gè)復(fù)數(shù)共軛 static Complex getinverse(Complex c1);//取倒數(shù) static double getComplexReal(Complex c1);//求一個(gè)復(fù)數(shù)實(shí)部 static double getCompleximage(Complex c1);//求一個(gè)復(fù)數(shù)虛部 static void PrintfComplex(Complex c1);//顯示一個(gè)復(fù)數(shù) static void PrintfmultiComplex(Complex C,int N);//顯示多個(gè)復(fù)數(shù) static void zeroComplex(Complex c1);//將復(fù)數(shù)復(fù)零 static Complex Rec2Polar(Complex c1);//取極坐標(biāo) Complex(){ RecPolar=0;} }; Complex Complex::Rec2Polar(Complex c1)//極坐標(biāo)表示 { Complex Node;Node.real=sqrt(c1.real*c1.real+c1.image*c1.image);Node.image=atan2(c1.image,c1.real)*180/3.1415926;Node.RecPolar=1;return Node;} Complex Complex::CaddC(Complex c1,Complex c2)//復(fù)數(shù)加法 { Complex Node; Node.real=c1.real+c2.real; Node.image=c1.image+c2.image; return Node;} Complex Complex::subComplex(Complex c1,Complex c2)//復(fù)數(shù)減法 { Complex Node; Node.real=c1.real-c2.real; Node.image=c1.image-c2.image; return Node;} Complex Complex::productComplex(Complex c1,Complex c2)//復(fù)數(shù)乘法 { Complex Node; Node.real=c1.real*c2.real-c1.image*c2.image; Node.image=c1.image*c2.real+c2.image*c1.real; return Node;} Complex Complex::divideComplex(Complex c1,Complex c2)//復(fù)數(shù)除法 { Complex Node; Node.real=(c1.real*c2.real+c1.image*c2.image)/(pow(c2.real,2)+pow(c2.image,2));Node.image=(c1.image*c2.real-c1.real*c2.image)/(pow(c2.real,2)+pow(c2.image,2));return Node;} Complex Complex::ComDivRea(Complex c1,double r1)//復(fù)數(shù)除數(shù) { Complex Node;Node.real=c1.real/(r1);Node.image=c1.image/(r1);return Node;} Complex Complex::getconj(Complex c1)//取共軛 { Complex Node; Node.real=c1.real;Node.image=-c1.image; return Node;} Complex Complex::getinverse(Complex c1)//取倒數(shù) { Complex Node;Node.real=1;Node.image=0;Node=(Complex::divideComplex(Node,c1));return Node;} double Complex::getComplexReal(Complex c1)//取實(shí)部 { return c1.real;} double Complex::getCompleximage(Complex c1)//取虛部 { return c1.image;} void Complex::PrintfComplex(Complex c1)//按直角坐標(biāo)輸出 { if(c1.RecPolar==0){ cout.precision(6); cout.width(8); cout.setf(ios::right); cout< ”; cout.precision(6); cout.width(8); cout.setf(ios::left); cout< ”;} else { cout< Complex::zeroComplex(Complex c1)//清零 { c1.real=0;c1.image=0;} class gauss { public: static void gauss_slove(double **a,double *x,int NN);static void gauss_output();}; void gauss::gauss_slove(double **a,double *x,int NN){ int n,i,j,k,*pivrow,**pivcol;double eps,pivot,sum,aik,al; n=NN;pivrow=new int[n];pivcol=new int *[n]; for(i=0;i pivot= fabs(a[k][k]); pivrow[k]=k;//行 pivcol[k][0]=k;pivcol[k][1]=k;//列n*2矩陣 for(i=k;i { for(j=k;j { if(pivot { pivot=fabs(a[i][j]); pivrow[k]=i;//行 pivcol[k][1]=j;//列 } } } if(pivot { cout<<“error”< getchar(); exit(0); } if(pivrow[k]!=k)//行變換 { for(j=k;j<(n+1);j++) { al=a[pivrow[k]][j]; a[pivrow[k]][j]=a[k][j]; a[k][j]=al; } } if(pivcol[k][1]!=k)//列變換 { for(i=0;i { al=a[i][pivcol[k][1]]; a[i][pivcol[k][1]]=a[i][k]; a[i][k]=al; } } if(k!=(n-1))//將矩陣化為上三角形 式 { for(i=(k+1);i { aik=a[i][k]; for(j=k;j<(n+1);j++) { a[i][j]-=aik*a[k][j]/a[k][k]; } } } } x[n-1]=a[n-1][n]/a[n-1][n-1];//解方程 for(i=(n-2);i>=0;i--){ sum=0; for(j=(i+1);j { sum +=a[i][j]*x[j];0.182709 0.016894-0.0310701 -0.0402051 0.156702 -0.0355909-0.0668055 -0.00703229-0.0886481 -0.0129814-0.0390805 -0.0135062-0.1023 -0.0460568 -0.0342827 -0.00382402-0.102896 -0.0184062 } x[i]=(a[i][n]-sum)/a[i][i];} for(k=(n-2);k>=0;k--){ al=x[pivcol[k][1]]; x[pivcol[k][1]]=x[pivcol[k][0]]; x[pivcol[k][0]]=al;} cout<<“節(jié)點(diǎn)電壓修正量”< cout< } ====節(jié)點(diǎn)功率計(jì)算值==== 0.935261 -0.159048 0.573909 0.0789973-0.00289889 -0.00796623-0.0791247 -0.0168362-0.436255 -0.0580392 0.0359139 -0.0106592-0.229118 -0.0885419-0.136179 -0.148207 0.0446243 0.0111298-0.0223764 -0.00695775-0.0237482 -0.198318 -5.24266e-015 -0.0354071 -0.0925078 -1.05629e-015 -0.0391348 0.014529 0.00158644 -0.0258771 -0.109514 icon=1進(jìn)行第2次迭代 節(jié)點(diǎn)電壓修正量 =================-0.00164889-0.000540034-0.00261067-0.00532027-0.00235315-0.00600971-0.00189677-0.00643874-0.0023631-0.00650659-0.00170949-0.0074907-0.00164545-0.00485415-0.00493977-0.0119042-0.00331285-0.0175611-0.00207908 -0.00347744-0.0869347-9.48909e-015-0.0110778-0.0538236-7.53784e-016-0.0168097 7.049e-005-0.00146487-0.00458276 0.00251645 -0.00336375-0.00530645-0.0147816-0.000326161-0.00640487-0.00251701-0.0169829-0.00175286-0.0174333-0.0239063 -0.0119192-0.076014 -0.0160104-0.441997 -0.0750285 0.000250012 3.72542e-005-0.228052 -0.108844-0.100078 -0.105634 0.000410707 0.000378067-0.057497 -0.0195879 0.200039 0.0582563-0.00307326-0.0163809-0.00232773-0.0175806 8.74293e-005-0.0192018 0.000558996-0.0197776-0.000247851-0.0193784-0.00115346-0.0185848-0.00127275-0.0186244-0.00010108-0.0188966 0.000553585-0.0200901-3.76315e-005-0.0208303 0.00308341-0.0219386-0.00195916-0.0205356-0.00184757-0.0076401 0.00197593-0.0245534 0.00434657-0.027534 ====節(jié)點(diǎn)功率計(jì)算值==== 0.98623 -0.134163 0.583136 0.166278-0.111173 0.199792 -0.0621041 -0.0821379 -0.0350785 -0.0902383 -0.0320461 -0.0951562 -0.0220362 -0.175458 4.72557e-015 -0.0320661 -0.0871134 -7.03489e-017 -0.0350769 0.000273455 1.51804e-005 -0.0240417 -0.10604 icon=1進(jìn)行第3次迭代 節(jié)點(diǎn)電壓修正量 =================-2.67079e-005-2.30128e-006-2.20543e-005-6.00686e-005-2.33043e-005-6.85601e-005-3.22294e-005-2.61107e-005-2.80198e-005-6.6167e-005-2.34528e-005 -0.0739846 0.0227868-0.0158709-0.0248173-0.0179447-0.0578368-0.00890719-0.0337091-0.00693706-0.111601 1.21429e-014-0.0159145-0.0667319 9.24355e-016-0.0228592 7.10354e-005-6.6188e-006-0.00889343-0.0184098 -5.66132e-005-4.4646e-005-1.74668e-005-4.50947e-005-0.000181763-3.81763e-006-0.000286581-6.68993e-005-1.28441e-005-5.17172e-005-0.000223284-4.54717e-005-2.47586e-005 4.32335e-007-0.000258494 1.82635e-005-0.000272051-6.95195e-006-0.000251969 1.11318e-005-0.000279418 5.74737e-005-0.000307368 6.86998e-005-0.000320274 5.38112e-005-0.00031447 3.59531e-005-0.00030494 3.37607e-005-0.000307449 5.26532e-005-0.000310721 6.92761e-005-0.000350373 5.60942e-005-0.00040977 0.000123641-0.000440259 1.36149e-005-0.000426973-1.70227e-005-9.37794e-005 0.000113675-0.000544011 0.000176034-0.000636202 ====節(jié)點(diǎn)功率計(jì)算值==== 0.986878 -0.133979 0.583 0.167193-0.024 -0.012-0.076 -0.016-0.442 -0.0748606 1.43501e-008 1.07366e-008-0.228 -0.109 -0.0999999 -0.104049 4.51318e-008 8.98835e-008-0.0579999 -0.0199999 0.2 0.0591018-0.112 -0.0749997 0.2 0.0242519-0.062 -0.016-0.082 -0.025-0.035 -0.018 -0.0900001 -0.058-0.032 -0.00899997-0.095 -0.0339999-0.022 -0.00699998-0.175 -0.112 -6.07156e-015 -1.19217e-014-0.032 -0.016-0.087 -0.0669999 7.03078e-017 -9.23979e-016-0.035 -0.0229999 1.09492e-007 4.45699e-008 1.54958e-009 -2.01531e-010-0.024 -0.00899994-0.106 -0.0189996 icon=0,迭代結(jié)束。 ====節(jié)點(diǎn)電壓===============發(fā)電機(jī)發(fā)出功率====== 節(jié)點(diǎn)1 1.05 0。 98.6878-13.3979 節(jié)點(diǎn)2 1.045 -1.846。 29.4193 節(jié)點(diǎn)3 1.02384-3.83352。 0 節(jié) 點(diǎn)25 1.01216-9.68486。 0 0 0 節(jié)點(diǎn)4 1.01637-4.55698。 0 節(jié) 點(diǎn)26 0.994393 -10.1089。 0 0 0 節(jié)點(diǎn)5 1.01 -6.48617。 節(jié) 點(diǎn)27 1.02012-9.42025。 0 11.5139 0 節(jié)點(diǎn)6 1.01332-5.38073。 0 節(jié) 點(diǎn)28 1.00992-5.86244。 0 0 0 節(jié)點(diǎn)7 1.00489-6.38368。 0 節(jié) 點(diǎn)29 1.00022-10.6579。 0 0 節(jié)點(diǎn)8 19.5951 節(jié)點(diǎn)9 0 節(jié)點(diǎn)10 0 節(jié)點(diǎn)11 5.91018 節(jié)點(diǎn)12 0 節(jié)點(diǎn)13 2.42519 節(jié)點(diǎn)14 0 節(jié)點(diǎn)15 0 節(jié)點(diǎn)16 0 節(jié)點(diǎn)17 0 節(jié)點(diǎn)18 0 節(jié)點(diǎn)19 0 節(jié)點(diǎn)20 0 節(jié)點(diǎn)21 0 節(jié)點(diǎn)22 0 節(jié)點(diǎn)23 0 節(jié)點(diǎn)24 0 1.01 -5.62974。 1.03905-6.78143。 1.03595-8.69362。 -4.5962。 1.04711-7.80323。 1.05 -6.34392。 1.03242-8.7401。 1.02788-8.86784。 1.03458-8.45044。 1.03051-8.83678。 1.01845-9.5141。 1.01604-9.70326。 1.02022-9.50938。 1.0237-9.17478。 1.02432-9.17024。 1.01802-9.36719。 1.01339-9.68362。 0 20 節(jié) 點(diǎn)30 0.988705 -11.5464。 0 0 0 ====== 線路傳輸功率========== 2to1 -57.7373 5.41674i 58.3454 0 -15.1827i 3to1 -39.659 -7.75964i 40.3424 1.78481i 4to2 -30.87 -9.74186i 31.4153 0 3.58352i 4to3 -37.0772 -7.78596i 37.259 6.55964i 5to2 -44.3717 -9.78456i 45.2968 0 4.84242i 6to2 -38.4766 -8.22625i 39.3252 0 2.87667i 6to4 -34.946 1.92384i 35.0885 0 -3.28202i 7to5 -0.16304 -6.41767i 0.171702 0 2.2985i 7to6 -22.637 -4.48233i 22.7745 0 1.44238i 8to6 -11.8939 -5.48098i 11.913 0 3.70557i 6to9 12.3737 -12.3826i -12.3737 0 13.0033i 6to10 10.9107 -3.80907i -10.9107 0 4.53223i 11to9 5.91018i 0 -5.08963i 10to9 -32.652 -2.3712i 32.652 0 3.46974i 4to12 23.5411 -11.5375i -23.5411 0 13.2407i 13to12 2.42519i 1.05 -1.90978i 1.66484i 14to12 -7.9019 -2.06732i 7.97894 30to29 -3.6702 -0.542564i 3.70398 2.22749i 0.606393i 15to12 -18.254 -5.74885i 18.4835 28to8 -1.89152 -3.79982i 1.89395 6.20089i-4.9239i 16to12-7.53872 -2.90237i 7.59633 28to6 -14.7868 -2.82565i 14.8234 3.02352i 0.294601i 15to14-1.69544 -0.461488i 1.70189 請(qǐng)按任意鍵繼續(xù)...0.467323i 17to16-4.03014 1.10238i 18to15-6.08074 1.46028i 19to18-2.87549 0.478389i 20to19 6.6418-2.93222i 20to10 -8.8418 3.85077i 17to10-4.96987 4.76656i 21to10-16.1562 9.42843i 22to10-7.87782 4.21401i 22to21 1.34443-2.01837i 23to15-5.59369 2.25006i 24to22-6.48186 2.08163i 24to23-2.38596 0.579814i 25to24-0.167617 0.281364i 26to25 -3.5 2.3674i 27to25 3.39433-2.08638i 28to27 16.1446 3.13006i 29to27-6.10398 1.67047i 30to27-6.92979-1.07089i-1.37839i-0.467767i 2.96679i-3.66679i-4.72911i-9.18162i-4.10132i 2.01969i-2.17981i-2.00141i-0.56401i -0.28102i-2.29999i 2.11848i-2.10093i-1.50639i -1.3574i 4.03872 6.12096 2.88074 -6.62452 8.9242 4.98423 16.2709 7.93248 -1.34378 5.62846 6.53339 2.39369 0.167814 3.54513 -3.37751 -16.1446 6.19083 7.09313 高等電力系統(tǒng)分析 IEEE30節(jié)點(diǎn)潮流程序 班級(jí):電研114班 姓名:王大偉 學(xué)號(hào):2201100151 編導(dǎo)語(yǔ):激發(fā)孩子手口一致點(diǎn)數(shù)以及按一定規(guī)律排序的興趣,培養(yǎng)孩子豐富的想象力和空間建構(gòu)能力。目標(biāo):激發(fā)孩子手口一致點(diǎn)數(shù)以及按一定規(guī)律排序的興趣,培養(yǎng)孩子豐富的想象力和空間建構(gòu)能力。 準(zhǔn)備:麻將 玩法: 1、親子自由玩麻將。 2、家長(zhǎng)引導(dǎo)孩子數(shù)數(shù)各“條”、“餅”的個(gè)數(shù)。 3、親子比一比誰(shuí)的“條”(“餅”)多,誰(shuí)的少? 4、家長(zhǎng)引導(dǎo)孩子用麻將堆成或擺成各種形狀,說(shuō)出圖形名稱。 5、家長(zhǎng)按一定的規(guī)律擺放麻將,引導(dǎo)孩子發(fā)現(xiàn)規(guī)律。 6、請(qǐng)孩子也按一定規(guī)律擺放,讓家長(zhǎng)來(lái)猜。第五篇:幼兒園親子游戲之好玩的麻將