真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C語(yǔ)言快速冪(入門(mén)講解)-創(chuàng)新互聯(lián)

? 新手在平時(shí)刷題或者入門(mén)競(jìng)賽的時(shí)候,經(jīng)常遇到一些需要我們求一個(gè)數(shù)的n次方的情況,數(shù)學(xué)表示為X^n。

創(chuàng)新互聯(lián)是一家專業(yè)提供谷城企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、做網(wǎng)站、H5場(chǎng)景定制、小程序制作等業(yè)務(wù)。10年已為谷城眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。

? 一般在這種時(shí)候,我們大多會(huì)采用兩種思路:

一、循環(huán)求解。

#includeint main(void){
    int x,n;
    int result=1;
    scanf("%d%d",&x,&n);
    for(int i=0;i

二、使用pow函數(shù)。

#include//pow需要的前綴
pow(x,n);

這兩種情況都能解決一定的問(wèn)題,但也存在不足。

這兩種方法都不能表示超大數(shù),比如2^1000000000;因?yàn)樗隽薸nt 乃至long long以及double的限制。這時(shí)候可以進(jìn)行mod運(yùn)算。題目一般要求求出結(jié)果%MOD的數(shù);

(a*b)%n=(a%n*b%n)%n;

當(dāng)然,使用mod能使我們解決超大數(shù)的問(wèn)題,但對(duì)于第一種來(lái)說(shuō)要耗費(fèi)大量時(shí)間,即時(shí)間超限。

對(duì)于pow函數(shù)則難以進(jìn)行求模運(yùn)算(求模就是求余數(shù)),因?yàn)閜ow的返回值是double類型,而%只能用于int之類的整形。即使進(jìn)行強(qiáng)制類型轉(zhuǎn)換,pow也是先求出超大數(shù)的結(jié)果再求模,而pow的結(jié)果已經(jīng)超限;

所以這就要用到快速冪。

原理就是減少第一種方法的循環(huán)次數(shù)。

我們快速冪算法的核心思想就是每一步都把指數(shù)分成兩半,而相應(yīng)的底數(shù)做平方運(yùn)算。這樣不僅能把非常大的指數(shù)給不斷變小,所需要執(zhí)行的循環(huán)次數(shù)也變小,而最后表示的結(jié)果卻一直不會(huì)變。

比如:2^4=2^2^2我們可以讓底數(shù)直接平方,上面的指數(shù)就可以減半,縮小了循環(huán)次數(shù);

如果遇到指數(shù)是奇數(shù)的情況我們單獨(dú)讓結(jié)果乘以底數(shù),之后繼續(xù)上面的運(yùn)算。代碼如下:

#includelong long fastPower(long long base, long long power) {//這里寫(xiě)為函數(shù)形式,也可直接放入主函數(shù)中
    long long result = 1;
    while (power >0) {
        if (power % 2 == 1) {//判斷奇偶
            result = result * base % 1000;
        }
        power = power / 2;//指數(shù)減半,整型變量不保留小數(shù),奇數(shù)也可直接除
        base = (base * base) % 1000;//底數(shù)平方
    }
    return result;
}
int main(){
	long long x,y;
	scanf("%lld%lld",&x,&y);
	printf("%lld",fastPower(x,y));
	return 0;
}

以上就是對(duì)c語(yǔ)言中求次方的簡(jiǎn)單講解,歡迎評(píng)論指正和補(bǔ)充?。?!

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


分享名稱:C語(yǔ)言快速冪(入門(mén)講解)-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://weahome.cn/article/doieoo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部