高精度模板
来源:互联网 发布:js判断值不等于0 编辑:程序博客网 时间:2024/06/07 02:02
有些题要高精度,又不想写,又不想抄别人的代码,所以就抄自己的代码。
代码:
struct Node{int v[2010],l;};Node operator * (Node a,Node b){ Node c;c.l=a.l+b.l-1; memset(c.v,0,sizeof(c.v)); for(int i=1;i<=a.l;i++) for(int j=1;j<=b.l;j++) c.v[i+j-1]+=a.v[i]*b.v[j]; for(int i=1;i<=c.l;i++)c.v[i+1]+=c.v[i]/10,c.v[i]%=10; while(c.v[c.l+1]) { c.l++; c.v[c.l+1]+=c.v[c.l]/10; c.v[c.l]%=10; } return c;}Node operator + (Node a,Node b){ a.l=max(a.l,b.l); for(int i=1;i<=a.l;i++)a.v[i]+=b.v[i]; for(int i=1;i<=a.l;i++)a.v[i+1]+=a.v[i]/10,a.v[i]%=10; while(a.v[a.l+1]) { a.l++; a.v[a.l+1]+=a.v[a.l]/10; a.v[a.l]%=10; } return a;}Node operator - (Node a,Node b){ for(int i=1;i<=a.l;i++)a.v[i]-=b.v[i]; for(int i=1;i<=a.l;i++) if(a.v[i]<0)a.v[i]+=10,a.v[i+1]--; while(!a.v[a.l]&&a.l>1)a.l--; return a;}void print(Node ans){for(int i=ans.l;i;i--)printf("%d",ans.v[i]);puts("");}
阅读全文
2 0
- 高精度模板
- 高精度模板
- 高精度模板
- 高精度模板
- 高精度模板
- 高精度模板
- 高精度模板
- 高精度模板
- 高精度模板
- 高精度模板
- 高精度模板
- 高精度模板
- 高精度模板
- 高精度模板
- 高精度模板
- 【模板】高精度
- 高精度模板
- 高精度模板
- Centos 安装tomcat8
- [codevs2488]绿豆蛙的归宿
- ARCMAP TOOLBOX 空白解决办法
- DOM HTMLCollection对象
- poj3279 Fliptile(翻转棋盘)
- 高精度模板
- 你的名字
- HttpClient请求网络
- Fragment show和hide
- 干货丨一文看懂人工智能、机器学习和深度学习的区别与联系
- 干货丨大规模机器学习框架的四重境界(经典长文,值得收藏)
- JVM调优:跟踪三个月后的最终调试结果
- 信号与频谱
- 【Excel-2010】空值替换