高精度模板

先定义一个struct

struct gj{
int l,s[N];
bool fh;
void Print(){
if(fh)putchar('-');
for(int i=l;i>=1;i--)printf("%d",s[i]);
puts("");
}
}blank;

高精+高精

加之前判断一下符号

一负一正转成减法

gj operator +(gj x,gj y){
gj z=blank;z.l=max(x.l,y.l);
for(int i=1;i<=z.l;i++){
z.s[i]+=x.s[i]+y.s[i];
if(z.s[i]>9)z.s[i+1]++,z.s[i]-=10;
}
if(z.s[z.l+1])z.l++;
return z;
}

高精-高精

gj operator -(gj x,gj y){
gj z=blank;z.l=max(x.l,y.l);
for(int i=z.l;i>=1;i--){
if(x.s[i]==y.s[i])continue;
if(x.s[i]<y.s[i])swap(x,y),z.fh=1;
break;
}
for(int i=1;i<=z.l;i++){
z.s[i]+=x.s[i]-y.s[i];
if(z.s[i]<0)z.s[i]+=10,z.s[i+1]--;
}
while(!z.s[z.l]&&z.l>1)z.l--;
return z;
}

高精*高精

gj operator *(gj x,gj y){
gj z=blank;z.l=x.l+y.l;
for(int i=1;i<=x.l;i++){
int jw=0;
for(int j=1;j<=y.l;j++){
z.s[i+j-1]+=x.s[i]*y.s[j]+jw;
jw=z.s[i+j-1]/10;
z.s[i+j-1]%=10;
}
z.s[i+b.l]=jw;
}
while(z.l>1&&!z.s[z.l])z.l--;
return z;
}

最新文章

  1. 彻底理解session
  2. EXCEL countif函数多条件
  3. 烟大 Contest1024 - 《挑战编程》第一章:入门 Problem G: Check The Check(模拟国际象棋)
  4. Nginx Location匹配举例
  5. Android之点击切换图片
  6. JavaScript 之 Cookie
  7. 在Delphi中使用C++对象(转)
  8. cura-engine学习(3)
  9. 在程序加载过程中显示ProgressDialog 对话框
  10. 整理pandas操作
  11. Java学习笔记5---命令行下用javac,java编译运行含package语句的类
  12. Java框架之Spring MVC(二)
  13. Android Notification 版本适配方案
  14. ThinkPHP 数据库操作(七) : 视图查询、子查询、原生查询
  15. CentOS官网下载系统镜像
  16. Keil_uvision 基本使用教程
  17. Java Lombok 减少代码冗余 get set
  18. OC内存管理-黄金法则
  19. tomcat已启动,使用maven的deploy发布后,根据路径打开浏览器访问时报错HTTP Status 500 - Error instantiating servlet class
  20. zoj3696(泊松分布)

热门文章

  1. php 位运算符的实际应用(权限判断)
  2. spring拦截器不拦截方法名原因
  3. ionic2项目创建回顾 及 react-native 报错处理
  4. Maven 小技巧之 自动更新你的jar包
  5. 苹果版小黄车(ofo)app主页菜单效果
  6. zabbix监控第二块网卡是否连通
  7. Docker DevOps实战: 一分钟搭建Hexo博客
  8. mysql用merge合并表
  9. 项目开发中的一些注意事项以及技巧总结 基于Repository模式设计项目架构—你可以参考的项目架构设计 Asp.Net Core中使用RSA加密 EF Core中的多对多映射如何实现? asp.net core下的如何给网站做安全设置 获取服务端https证书 Js异常捕获
  10. wcf 入门示例