• 高精度


    以前一直偷懒用的封装好的或者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;
    	} 
    };
    
  • 相关阅读:
    System.Diagnostics.Process.Start()
    Asp.Net 构架(HttpModule 介绍) Part.3
    Asp.Net 构架(Http Handler 介绍) Part.2
    Asp.Net构架(Http请求处理流程)
    Ruby 2.0 发布首个预览版
    Java基本数据类型及类型转换
    J2EE 1.4 APIs and Technologies
    java final 关键字
    Android获取通讯录
    Activity的四种加载模式(转载)
  • 原文地址:https://www.cnblogs.com/sdfzhsz/p/9916644.html
Copyright © 2020-2023  润新知