高精度模板(第一彈,支援正負數)

2021-07-28 02:35:08 字數 1246 閱讀 3807

說到高精度問題,想來眾多oier都是深惡痛絕的。

最為可怕的有兩種,一種是明擺著高精度演算法,而原理極其簡單的一類題。例如cqoi2005(老題了)最小公倍數,強行將高精度除法推到了題面,orz。

話不多說,上**。自帶大常數的高精度,高精度除法還壓不來位。。。風格迥異。

//by:hzyuer

//高精度個人模版——(2017.3.7)

//使用string型別作為輸入輸出。

//string型別自帶大常數,請小心使用

//通用萬進製,支援正負數

//負數有可能出錯。。。小心食用

#include#include#include#includeusing namespace std;

const int mod=10000;//進製

const int size=10000;//陣列大小

string a,b;

inline void change_num(string b,long long rec)

rec+=temp;

} if(rec.empty())rec="0";

return ;

}inline int cmp(string x,string y)

if(x.length()b)

if(ab.length())return 1;

if(a.length()b)return 1;if(a>a>>b;

/* cout<=mod)

a[i+1]+=a[i]/mod,a[i]%=mod;

} if(a[a[0]+1])a[0]++;

if(f)a[a[0]+1]=1;

change_string(a,ans);

return ans;

}string sub(string x,string y)

string div(string x,string y,int type)

for(i=0;i=0)ans+=c[i--]+'0';

i=aaa;

while(!a[i])i--;

while(i>=0)rest+=a[i--]+'0';

if(rest.empty())rest="0";

if(x[0]=='-'&&rest!="0")rest='-'+rest;

if(type==1)return ans;

if(type==2)return rest;

}

菜鳥部落格第一彈

隨著乙個多月的大學生活結束,今天終於開始了畢業的第一天工作。請了40多天的假,本來以為工作會悲劇的。但到公司同事和領導的關心使我擔心的小心感到了溫暖。早就想實現這個計畫,想在正式工作的時候寫部落格,也就是想記錄下每天的工作和每天的心情。寫博主要是記下這剛開始艱苦的歲月,不求對別人幫助,本人是菜鳥,歡...

oracle學習第一彈

每當我們建立資料庫例項的時候,就會自動的建立三個使用者 sys使用者 超級管理員,許可權最大 system使用者 系統管理員 scott使用者 普通使用者 有三種方式登入oracle資料庫 1.命令列sqlplus 2.sql developer 3.企業管理器,通過web訪問 sql plus是o...

日常翻譯 第一彈

第一題鏈結 題意 夏洛克和華生正在玩乙個遊戲 nim 這個遊戲有n堆石子被標註成piles1,piles2,pilesn n是石子最大堆數 夏洛克總是第乙個,華生跟他交替進行操作 在每一次操作中都有且只有兩種可能的情況 1.選擇一堆並且從中拿走k個石子,k 0 2.從每一堆石子中都拿走k個石子,k ...