7月21日知识点总结

这篇博客是作者暑假学习ACM相关知识的起点,重点介绍了高精度计算的基本概念和处理方法。通过字符串数组来接收和储存大数值,并详细阐述了加法、减法和乘法中进位和借位的处理步骤。博客还提供了相应的代码示例,帮助理解运算过程。
摘要由CSDN通过智能技术生成

7月21日知识点总结

这是暑假学习acm相关知识的第一篇博客,这次再次学习了一些基础算法,主要是高精度计算,高精度计算第一次接触是在新生赛,当时的数值很大,而且对字符串的应用也不熟练,只知道与数组有关,但这次已经学会使用字符串数组,所学习起来相对轻松。
基本问题
数据的的接收和储存,因为字符串可以输入位数很长的数字,然后再利用字符串函数,将每一位取出并存入数组。
代码:

string s;
  int a [max];
  int len=s.length();
  for(int i=1;i<=len;i++)
      a[i]=s[len-i]-'0';

进位和借位的处理,这一步要根据不同的命令分别进行操作:
加法进位:c[i]=a[i]+b[i];
if(c[i]>=10)
{c[i]%10;++c[i+1];}
减法借位:if(a[i]<b[i])
{–a[i+1];a[i]+=10;}
c[i]=a[i]-b[i];
乘法进位:c[i+j-1]=a[i]*b[i]+x+c[i+j-1];
x=c[i+j-1]/10;
c[i+j-1]%=10;
(未完)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值