亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        大數(shù)乘方 趣味編程

        2009-03-14 06:59:48郭天魁
        新媒體研究 2009年4期

        [摘要]針對(duì)計(jì)算機(jī)精度位數(shù)的限制,編程制作乘方計(jì)算器工具,可以精確計(jì)算底數(shù)在10100以內(nèi),指數(shù)在108以內(nèi),結(jié)果在101000以內(nèi)非負(fù)整數(shù)的乘方。

        [關(guān)鍵詞]大數(shù)乘方 編程

        中圖分類號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)0220068-01

        在歷屆的數(shù)學(xué)競(jìng)賽里,總會(huì)出現(xiàn)一些較大數(shù)字的乘方運(yùn)算,比如22005-22004。雖然這些題目都有巧妙的方法可以很快的得到答案,但無(wú)法把這些乘方運(yùn)算化為準(zhǔn)確的數(shù)字。競(jìng)賽后想用家用電腦驗(yàn)證,卻因?yàn)閿?shù)字太大超出計(jì)算范圍而無(wú)法計(jì)算。

        算法:用初值1逐次乘輸入的底數(shù),一共乘指數(shù)次,就是得數(shù)。

        因?yàn)殡娔X算多位數(shù)之間的乘法是很慢的,而且如果得數(shù)很大還會(huì)受位數(shù)限制,所以我就把底數(shù)按位分成很多一位數(shù),把每次做乘法后的結(jié)果也按位分成很多一位數(shù),然后將這些一位數(shù)兩兩相乘,加到結(jié)果中相應(yīng)的各位上,然后如果某一位超過(guò)9,就留下它的個(gè)位并把十位及以后的數(shù)字加到后一位去(進(jìn)位)。

        比如16*16,6*6=36,1*6=6,6*1=6,1*1=1,結(jié)果為1,(6+6=)12,36。個(gè)位進(jìn)3,結(jié)果變?yōu)?,15,6。十位進(jìn)1,得到2,5,6。

        256*16,6*6=36,5*6=30,6*1=6,5*1=5,2*6=12,2*1=2,結(jié)果為2,(12+5=)17,(30+6=)36,36,個(gè)位進(jìn)3,結(jié)果變成2,17,39,6。十位進(jìn)3,變成2,20,9,6,百位進(jìn)2,變成4,0,9,6。

        比如算22008,輸入2-2008,回車后不到1秒鐘就會(huì)打印出結(jié)果:

        29,392,145,799,020,915,820,360,529,950,148,658,790,971,333,173,470,597,132,227,654,062,739,616,291,644,680,034,730,482,849,702,560,509,912,216,694,758,079,047,000,246,245,398,094,216,484,503,842,717,866,321,546,017,277,221,199,943,680,176,327,461,949,451,487,085,805,309,456,252,478,664,093,558,693,475,421,170,513,158,666,359,386,616,551,679,118,889,574,095,089,825,179,039,567,782,281,258,040,824,405,166,424,107,240,700,021,377,434,209,148,110,825,999,078,639,302,784,109,824,695,476,896,212,613,634,081,852,488,010,690,884,578,129,204,889,342,821,483,040,517,575,643,751,434,792,922,414,912,394,467,695,078,935,531,662,069,192,598,956,042,024,980,981,047,457,429,185,377,388,949,433,859,975,257,289,323,374,605,954,282,310,600,673,952,044,911,495,373,010,647,749,329,399,156,163,119,321,894,151,520,256。

        另外的一些數(shù)字也經(jīng)過(guò)驗(yàn)證得到了正確答案,比如

        甚至可以算出23000,時(shí)間都在一兩秒之內(nèi)。

        這樣,以后考試時(shí)能夠用簡(jiǎn)便的計(jì)算來(lái)求解,考試后也能用家用電腦進(jìn)行窮舉驗(yàn)證,算出答數(shù)了。

        附程序(已在VC環(huán)境下調(diào)試驗(yàn)證通過(guò)):

        #include<stdio.h>

        #include<string.h>

        int main(){

        /**********定義,計(jì)算結(jié)果在1000位以下**********/

        long int a[1000],b[100],c,a1[1000],i,j,k,s,m;

        char ch;

        FILE *in;

        in=fopen("POW.txt","w");

        /**********輸入底數(shù),不超過(guò)100位**********/

        for(s=0;;s++){

        ch=getchar();

        b[s]=ch-48;

        if(!(b[s]>-1&&b[s]<10)){

        b[s]=0;

        break;

        }

        }

        /**********輸入指數(shù),不超過(guò)8位**********/

        scanf("%ld",&c);

        /**********將結(jié)果初始化為1**********/

        a[0]=1;

        for(i=1;i<1000;i++)a[i]=0;

        /**********共乘指數(shù)次**********/

        for(i=0;i<c;i++){

        /**********預(yù)備**********/

        for(j=0;j<1000;j++){

        a1[j]=a[j];

        }

        for(j=0;j<1000;j++){

        a[j]=0;

        }

        /**********將分解開(kāi)來(lái)的一位數(shù)兩兩相乘,加到結(jié)果的各位上**********/

        for(j=0;j<1000;j++){

        for(k=s-1;k>-1;k--){

        a[j+s-1-k]=a[j+s-1-k]+a1[j]*b[k];

        }

        }

        /**********進(jìn)位**********/

        m=0;

        for(j=0;j<1000;j++){

        a[j]+=m;

        m=(a[j]-a[j]%10)/10;

        a[j]-=m*10;

        }

        }

        /**********因?yàn)閟接下來(lái)要充當(dāng)分隔符,重置**********/

        s=1;

        /**********打印在屏幕上**********/

        k=0;

        for(i=999;i>0;i--){

        J=a[i];

        if(a[i]!=0&&k==0){k=1;s=2-(i%3);}

        if(k==1){printf("%d",(int)j);s++;}

        if(s%3==0)printf(",");

        }

        Printf("%d",a[0]); printf(" ");

        /*如果想將結(jié)果打印在文件里,可以把這段改為:for(i=999;i>0;i--){

        j=a[i];

        If(a[i]!=0&&k==0){k=1;s=2-(i%3);}

        if(k==1){fprintf(in,"%d",(int)j);s++;}

        if(s%3==0)fprintf(in,",");

        }fprintf(in,"%d",a[0]);

        Fprintf(in," "); */

        fclose(in);

        return(0);

        }

        參考文獻(xiàn):

        [1]《聰明在于勤奮 天才在于積累》,華羅庚著,中國(guó)少年兒童出版社,P118-119.

        [2]《C程序設(shè)計(jì)》,譚浩強(qiáng)著,清華大學(xué)出版社.

        作者簡(jiǎn)介:

        郭天魁,男,漢,浙江杭州,杭州建蘭中學(xué),主要研究方向:程序綜合設(shè)計(jì)與數(shù)學(xué)證明。

        日韩午夜福利无码专区a| 国产成人精品视频网站| av成人资源在线播放| 久久男人av资源网站无码| 人妻熟女妇av北条麻记三级| 白色白色白色在线观看视频 | 亚洲AV日韩AV高潮喷潮无码 | 久久99老妇伦国产熟女高清| 区一区二区三免费观看视频| 成人麻豆日韩在无码视频| 97久久天天综合色天天综合色hd| 永久黄网站色视频免费| 91狼友在线观看免费完整版| 国产亚洲精品在线播放| 成人精品一区二区三区电影| 中国丰满大乳乳液| 人妻少妇精品无码专区app| 亚洲24小时免费视频| 五月丁香六月综合缴清无码| 99久久伊人精品综合观看| 无码午夜人妻一区二区三区不卡视频| 极品诱惑一区二区三区| 高清国产亚洲精品自在久久| 欧美日韩精品一区二区视频| 曰本女人与公拘交酡免费视频| 18禁国产美女白浆在线| 亚洲av三级黄色在线观看| √新版天堂资源在线资源| 久青草国产视频| 国产在视频线精品视频二代| 在线观看一区二区蜜桃| 成人精品视频一区二区| 亚洲综合欧美日本另类激情| 国产成人亚洲合色婷婷| 国产一级内射视频在线观看| 日日碰狠狠添天天爽五月婷| 国自产偷精品不卡在线| 久久精品国产亚洲av蜜桃av| 久久亚洲道色综合久久| 成人片黄网站色大片免费观看cn| 精精国产xxx在线视频app|