• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            我叫張小黑
            張小黑的掙扎生活
            posts - 66,  comments - 109,  trackbacks - 0
            本來都打定主意叫它幾十次,這道題考慮了很多細節,想了很多邊界條件,一次交過了還是沒想到的
            我也不知道這道題到底要不要考慮那些邊界條件,不過看交過的比例,要注意的肯定很多,也許還有應該要想到的
            這是第一次作實數的高精度,寫的很亂,很多都是發現問題后不上去的
              1#include<iostream>
              2using namespace std;
              3#define Max 200
              4#define Max_b 7
              5typedef struct bigint{
              6    int data[Max];//從0開始存儲
              7    int len;
              8    int i;//表示小數位
              9    bigint()
             10    {
             11        memset(data,0,sizeof(data));
             12        len=1;
             13        i=0;
             14    }
             15    friend bigint operator+(bigint,bigint);
             16    friend bigint operator*(bigint,bigint);
             17    void print();//小數點在第i位上,后面有i個小數位
             18    void operator=(const bigint&y){
             19        len=y.len;
             20        for(int j=0;j<y.len;j++)
             21            data[j]=y.data[j];
             22        i=y.i;
             23    }
             24}BIGINT;
             25BIGINT operator+(BIGINT x,BIGINT y)
             26{
             27    BIGINT r;
             28    int rlen=x.len>y.len?x.len:y.len;
             29    int tmp,i,jinwei=0;
             30    for(i=0;i<rlen;i++){
             31        tmp=x.data[i]+y.data[i]+jinwei;
             32        r.data[i]=tmp%10;
             33        jinwei=tmp/10;}
             34    if(jinwei)r.data[rlen++]=jinwei;
             35    r.len=rlen;
             36    return r;
             37}
             38BIGINT operator*(BIGINT x,BIGINT y)
             39{
             40   BIGINT  r;
             41   int i,j;
             42   memset(r.data,0,sizeof(r.data));
             43   r.len=x.len+y.len;
             44   for(i=0;i<x.len;i++)
             45       for(j=0;j<y.len;j++)
             46           r.data[i+j]+=x.data[i]*y.data[j];
             47   for(i=0;i<r.len;i++){
             48       r.data[i+1]+=r.data[i]/10;
             49       r.data[i]%=10;}
             50   while(r.data[i]){
             51       r.data[i+1]+=r.data[i];
             52       r.data[i]%=10;
             53       i++;}
             54   while(i>=0&&!r.data[i])i--;//這個已經消除了開頭的零
             55   //末尾不存在零,不用考慮
             56   if(i!=-1)r.len=i+1;
             57   else r.len=1;//r為0的情況
             58   r.i=x.i+y.i;
             59   return r;
             60}
             61void BIGINT::print()
             62{
             63    int j,k;
             64    for(j=this->len-1;j>=this->i;j--)//輸出了len-i個或是一個也還沒輸出
             65        printf("%d",this->data[j]);
             66    if(j==-1){
             67        putchar('\n');
             68        return;}
             69    putchar('.');
             70    if(j<this->i)//小數點后要補零
             71        for(k=this->i-1;k>j;k--)
             72            putchar('0');
             73    for(;j>=0;j--)
             74        printf("%d",this->data[j]);
             75    putchar('\n');
             76}
             77BIGINT cToBigint(char c[])
             78{
             79    int clen=(int)strlen(c),i=0,j=clen-1,k;
             80    BIGINT result;
             81    memset(result.data,0,sizeof(result.data));
             82    while(c[i]=='0'&&i<clen-1)i++;
             83    while(c[j]=='0'&&j>=0)j--;
             84    if(j>i){
             85        result.len=j-i;
             86        for(j=result.len-1;c[i]!='.';j--,i++)
             87            result.data[j]=c[i]-'0';
             88        result.i=j+1;
             89        for(i++;j>=0;j--,i++)
             90            result.data[j]=c[i]-'0';}
             91    else if(j<i){//
             92        result.len=1;
             93        result.i=0;}
             94    else if(i==j&&c[i]!='.'){//完全就是整數,沒有小數點
             95        for(j=clen-1,k=0;j>=i;j--,k++)
             96            result.data[k]=c[j]-'0';
             97        result.len=k;
             98        result.i=0;
             99    }
            100    return result;
            101}
            102int main()
            103{
            104    BIGINT R,result;
            105    int n,i;
            106    char c[Max_b];
            107    while(scanf("%s %d",c,&n)!=EOF){
            108        memset(result.data,0,sizeof(result.data));
            109        result.i=0;
            110        result.len=1;
            111        R=cToBigint(c);
            112        result.data[0]=1;
            113        for(i=1;i<=n;i++)
            114            result=result*R;
            115        result.print();
            116    }
            117    return 0;
            118}

            posted on 2008-03-09 14:00 zoyi 閱讀(561) 評論(0)  編輯 收藏 引用 所屬分類: acm
            歡迎光臨 我的白菜菜園

            <2008年3月>
            2425262728291
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            常用鏈接

            留言簿(8)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊

            acmer

            online judge

            隊友

            技術

            朋友

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久永久免费人妻精品下载| 精品久久久无码人妻中文字幕豆芽| 亚洲AV无一区二区三区久久| 久久毛片免费看一区二区三区| 国内精品久久久久| 91精品国产色综合久久| 久久久久99精品成人片欧美| 国产亚洲美女精品久久久2020| 午夜精品久久久久久久无码| 四虎影视久久久免费观看| 久久久精品日本一区二区三区| 久久精品国产国产精品四凭| 久久天天躁狠狠躁夜夜2020老熟妇 | 亚洲精品国精品久久99热一| 国产一区二区久久久| 久久久亚洲裙底偷窥综合| 亚洲中文字幕无码久久综合网| 综合久久国产九一剧情麻豆| 久久99精品久久久久久久不卡 | 一本综合久久国产二区| 亚洲中文字幕久久精品无码APP| 香蕉久久av一区二区三区| 国产精品视频久久久| 精品久久人人做人人爽综合| 色综合久久中文字幕综合网| 色欲久久久天天天综合网| 91精品国产综合久久婷婷| 精品久久久久久国产牛牛app| 女同久久| 国产精品九九九久久九九| 热RE99久久精品国产66热| 一本久久a久久精品vr综合| 色综合久久最新中文字幕| 亚洲国产精品一区二区三区久久| 色综合久久久久久久久五月| 精品视频久久久久| 无码人妻久久久一区二区三区| 亚洲综合久久综合激情久久 | 伊人久久大香线蕉AV色婷婷色| 精品亚洲综合久久中文字幕| 久久夜色精品国产亚洲|