博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
高精模板(加减乘)
阅读量:5100 次
发布时间:2019-06-13

本文共 1141 字,大约阅读时间需要 3 分钟。

啥都不说直接上板子吧 QAQ

#include
#include
#include
#include
#include
#include
using namespace std;const int N=100100;int len;int c[N],a[N],b[N]; string s,s1;//高精加法 inline void add(int a[],int b[]) { int len=max(a[0],b[0]); for(int i=1;i<=len;++i) { c[i]=a[i]+b[i]+c[i]; if(c[i]>=10) { c[i]%=10; ++c[i+1]; } } if(c[len+1]!=0) len++;//最少有len位,最多有len+1位,判断一下有多少位 for(int i=len;i>=1;--i) printf("%d",c[i]); memset(c,0,sizeof len+10);//清空 }//高精减法inline void sub(int a[],int b[],bool vis) { int len=a[0]; for(int i=1;i<=len;++i) { if(a[i]
1))) len--; for(int i=len;i>=1;--i) printf("%d",c[i]);}inline void sub_(int a[],int b[]) { if(a[0]>b[0]) sub(a,b,0);//判断一下谁大谁小 if(a[0]
b[len]) { sub(a,b,0); break; } if(a[len]
1) --len; for(int i=len;i>=1;--i) printf("%d",c[i]);}//预处理inline void init(string &x,int a[]) { a[0]=x.length();//string 应该是从string[0]开始存的吧 for(int i=0;i
>s>>s1; init(s,a); init(s1,b); add(a,b);//a+b printf("\n"); mul(a,b);//a*b printf("\n"); sub_(a,b);//a-b printf("\n"); return 0;}

转载于:https://www.cnblogs.com/Darkpurple/p/9789993.html

你可能感兴趣的文章
我眼中的技术地图
查看>>
lc 145. Binary Tree Postorder Traversal
查看>>
在centos上开关tomcat
查看>>
android dialog使用自定义布局 设置窗体大小位置
查看>>
ionic2+ 基础
查看>>
[leetcode]Minimum Path Sum
查看>>
Aizu - 1378 Secret of Chocolate Poles (DP)
查看>>
csv HTTP简单表服务器
查看>>
IO流写出到本地 D盘demoIO.txt 文本中
查看>>
Screening technology proved cost effective deal
查看>>
mysql8.0.13下载与安装图文教程
查看>>
Thrift Expected protocol id ffffff82 but got 0
查看>>
【2.2】创建博客文章模型
查看>>
Kotlin动态图
查看>>
从零开始系列之vue全家桶(1)安装前期准备nodejs+cnpm+webpack+vue-cli+vue-router
查看>>
Jsp抓取页面内容
查看>>
大三上学期软件工程作业之点餐系统(网页版)的一些心得
查看>>
可选参数的函数还可以这样设计!
查看>>
[你必须知道的.NET]第二十一回:认识全面的null
查看>>
Java语言概述
查看>>