【C++算法笔记】最基础篇------高精度算法

个人笔记:只提供学习代码和其步骤思路,仅供参考学习,已提前在相关编译器中提前运行并保证代码运行。

为什么要用高精度算法:
long long 的存储大小为9*10^19,即超过20位的数字将无法使用基本数据类型存储和计算,所以我们要使用其他方法存储设计。

涉及基础知识:基本输入输出,字符串及数组的基本运用

基础步骤:

1.对字符串s1,s2进行承接​​​​​​​

2.将a1与a2相加的和存入a3

​​​​​​​3.从左向右进位并出现逆序

#include
using namespace std;

//高精度算法:(本人习惯于使用函数保存)
void highPrecision(string s1, string s2){
   int a1[200],a2[200],a3[200]={0};//使用数组逆序承接位数,记得一定要初始化为0,方便后面判断
   //1.对字符串s1,s2进行承接
   for(int i=0;is1.size())len=s2.size();//或者这里使用Max函数
   //int len = max(s1.size(),s2.size());
   for(int i=0;i=10){
         a3[i+1]+=a3[i]/10;
         a3[i]%=10;
      }
   }
   //判断位数后逆序输出
   if(a3[len]==0)len++;
   for(int i=len-1;i>=0;i--){
   cout<

欢迎交流学习~

你可能感兴趣的:(算法学习笔记,c++,算法,笔记)