zoukankan      html  css  js  c++  java
  • 高精度

    以前一直偷懒用的封装好的或者py。。。
    现在依旧很懒Orz
    有高精加,高精减,高精乘低精,高精除低精,比大小,输入输出

    struct Big{
    	int s[10005];int len;
    	Big(){memset(s,0,sizeof s);len=0;}
    	void input() {
    		scanf("%s",tp);
    		len=strlen(tp);
    		for(int i=0;i<len/2;i++) swap(tp[i],tp[len-i-1]);
    		for(int i=0;i<len;i++) s[i]=tp[i]-'0';
    	}
    	Big operator - (const Big &rhs) const {
    		Big ans;
    		ans.len=max(len,rhs.len);
    		int jian=0,cnt=0;
    		for(int i=0;i<ans.len;i++) {
    			ans.s[i]=s[i]-rhs.s[i]-jian;
    			while(ans.s[i]<0) ans.s[i]+=10,cnt++;
    			jian=cnt;
    			cnt=0;
    		}
    		while(ans.s[ans.len-1]==0&&ans.len) ans.len--;
    		return ans;
    	}
    	bool operator < (const Big &rhs) const {
    		if(len>rhs.len) return 0;
    		else if(len<rhs.len) return 1;
    		for(int i=len-1;~i;i--) if(s[i]<rhs.s[i])return 1;
            else if(s[i]>rhs.s[i]) return 0;
    		return 0;
    	}
    	void print() {
    		for(int i=len-1;~i;i--) printf("%d",s[i]);
    		putchar(' ');
    	}
    	Big operator / (const int &rhs) const {
    		Big ans;
    		int tui=0;
    		ans.len=len;
    		for(int i=len-1;~i;i--) {
    			ans.s[i]=s[i]+tui;
    			tui=(ans.s[i]%rhs)*10;
    			ans.s[i]/=rhs;
    		}
    		while(ans.s[ans.len-1]==0&&ans.len>1) ans.len--;
    		return ans;
    	}
    	Big operator * (const int &rhs) const{
    		int jin=0;
    		Big ans;
    		ans.len=len;
    		for(int i=0;i<len;i++) {
    			ans.s[i]=s[i]*rhs;
    			ans.s[i]+=jin;
    			jin=(ans.s[i]/10);
    			ans.s[i]%=10;
    		}
    		while(jin) ans.s[ans.len++]=jin%10,jin/=10;
    		return ans;
    	}
    	bool operator != (const Big &rhs) const {
    		if(len!=rhs.len) return 1;
    		for(int i=0;i<len;i++) if(s[i]!=rhs.s[i]) return 1;
    		return 0;
    	} 
    };
    
  • 相关阅读:
    P3704 [SDOI2017]数字表格
    CF 700 E. Cool Slogans
    杜教筛学习笔记
    [BOI2004]Sequence 数字序列(左偏树)
    [WC2007]剪刀石头布(最大流)
    [NOI2009]变换序列(二分图匹配)
    文理分科(最小割)
    上帝与集合的正确用法(欧拉定理)
    [HAOI2008]圆上的整点(数论)
    主席树学习笔记
  • 原文地址:https://www.cnblogs.com/sdfzhsz/p/9916644.html
Copyright © 2011-2022 走看看