高精度模版(大数相加 相乘 相除)
来源:互联网 发布:工业机器人编程待遇 编辑:程序博客网 时间:2024/05/10 18:19
#include<iostream>#include<cstring>#include<algorithm>#include<vector>using namespace std;string operator + (string s1,string s2)//大数相加{ if(s1.size()<s2.size()) { string temp=s1; s1=s2; s2=temp; } for(int i=(int)s1.size()-1,j=(int)s2.size()-1;i>=0;i--,j--) { s1[i]=char(s1[i]+(j>=0?s2[j]-'0':0)); if(s1[i]-'0'>=10) { s1[i]=char((s1[i]-'0')%10+'0');//注意细节,括号一定要加 if(i) s1[i-1]++; else s1='1'+s1; } } return s1;}string operator - (string s1,string s2){ if(s1.size()<s2.size()||(s1.size()==s2.size()&&s1[0]<s2[0])) { string temp=s1; s1=s2; s2=temp; } for(int i=(int)s1.size()-1,j=(int)s2.size()-1;i>=0;i--,j--) { s1[i]=char(s1[i]-(j>=0?s2[j]-'0':0)); if(s1[i]-'0'<0) { if(i) s1[i]=char(s1[i]-'0'+10+'0'); if(i) s1[i-1]--; else s1='-'+s1; } } return s1;}string operator * (string s,int x)//大数乘一个整数{ reverse(s.begin(),s.end()); int cmp=0; for(int i=0;i<s.size();i++) { cmp=(s[i]-'0')*x+cmp; s[i]=(cmp%10+'0'); cmp/=10; } while(cmp) { s+=(cmp%10+'0'); cmp/=10; } reverse(s.begin(),s.end()); return s;}string operator / (string s,int x)//大数除一个整数{ int cmp=0; bool ok=false; string ans=""; for(int i=0;i<s.size();i++) { cmp=cmp*10+(s[i]-'0'); if(cmp>=x) { ok=true; ans+=(cmp/x+'0'); cmp=cmp%x; } else{ if(ok) ans+='0'; } } return ans;}string operator * (string x,string y)//大数乘大数{ string ans; for(int i=(int)y.size()-1,j=0;i>=0;i--,j++) { string tmp=x*(y[i]-'0'); for(int k=0;k<j;k++) tmp+='0'; ans=ans+tmp; } return ans;}
0 0
- 高精度模版(大数相加 相乘 相除)
- 大数相加(相减,相乘,相除)
- 大数相加,相减,相除,相乘。。。java BigInteger BigDecimal
- 大数相乘(高精度)
- 大数相加(高精度)
- 大数相加相减相乘
- 高精度除法(大数相除)
- hdu1023(大数相乘与大数相除)
- 大数相加, 大数相乘
- 大数相加、大数相乘
- 大数相乘,大数相加
- 大数(相加,高精度)模板
- NYOJ 45 棋盘覆盖(大数相乘,相除)
- 大数相乘、大数相加、大数相减Java版本
- 大数相乘、大数相加、大数相减Java版本
- 大数相乘、大数相加、大数相减Java版本
- 大数相乘算法(相加,相减)
- 大数相加 相乘
- Scrollview 嵌套 RecyclerView 及在Android 5.1版本滑动时 惯性消失问题
- shell查看文件空行行号
- HTML5 内联SVG
- GetAdaptersInfo+GetIfTable的例子
- FreeSWITCH 初步
- 高精度模版(大数相加 相乘 相除)
- PAT(乙级)1014 科学计数法 (20)
- mysql存储过称
- C++小问题解决
- 跟我一起学习SQL Cookbook(学习日志)
- 「Ubuntu命令」安装和卸载
- 接口
- 个人对价值观的认识与感受
- 原创2