当前位置: 首页 > news >正文

鞍山网站建设公司网站子域名查询

鞍山网站建设公司,网站子域名查询,网站建设效果有客优秀网站建设效果,东莞网站关键词优化作者:指针不指南吗 专栏:算法篇 🐾不能只会思路,必须落实到代码上🐾 文章目录前言一、高精度加法二、高精度减法三、高精度乘法四、高精度除法前言 ​ 高精度即很大很大的数,超过了 long long 的范围&…

作者:指针不指南吗
专栏:算法篇

🐾不能只会思路,必须落实到代码上🐾

文章目录

  • 前言
  • 一、高精度加法
  • 二、高精度减法
  • 三、高精度乘法
  • 四、高精度除法

前言

​ 高精度即很大很大的数,超过了 long long 的范围,不能直接读取进行运算,需要用 string 读入,然后存储在数组中去。

​ 高精度算法即把每一位上的数单独拿出来,分别计算,再跟每一位之间的关系,再研究,最后结果仍然存在数组中并输出。


一、高精度加法

  1. 思路

    • 大整数的存储
      • 使用 vector 存储,a[0] 存储个位,依次往后最后存储最高位
    • 代码思想
      • 从个位数开始依次,让a,b每一位相加,结果取模存在结果数组C中,t 表示进位
      • 每次两个数a,b的各个位相加再加上进位t
      • 直到加到最高位
  2. 模板

    #include<bits/stdc++.h>
    using namespace std;//C=A+B
    vector<int> add(vector<int> &A,vector<int> &B)//引用减少时间,不使用引用即把原数据copy一遍,费时间 
    {vector<int> C;  //定义一个结果答案if(A.size()<B.size()) return add(B,A);int t=0;   //t表示进位,个位开始,无需+进位,即t=0 for(int i=0;i<A.size();i++){   t+=A[i];if(i<B.size()) t+=B[i];  //各个位上的数 和 进位 相加 C.push_back(t%10);  t/=10;  //求进位 } if(t) C.push_back(1);  //离开循环时,t没有加 return C;
    }int main()
    {string a,b;vector<int> A,B;cin>>a>>b;  //输入123456//存储大整数  倒着存储 for(int i=a.size()-1;i>=0;i--) A.push_back(a[i]-'0');   //存储 6,5,4,3,2,1for(int i=b.size()-1;i>=0;i--) B.push_back(b[i]-'0');   //注意这里是字符串的长度aauto C=add(A,B);for(int i=C.size()-1;i>=0;i--) printf("%d",C[i]);  //注意 倒序输出return 0;
    }
    

二、高精度减法

  1. 思路

    • 大整数的存储
    • 核心思想
      • 确保是大数减小数,首先从个位开始作差,取模存储在C中,t 表示借位(这里很巧妙具体看下面的代码
      • 每次各个位上的数作差 - 借位 t ,取模存起来,有借位 t=1,没有t=0;
      • 直到 大整数.size( ) 去前导0
  2. 模板

    #include<bits/stdc++.h>
    using namespace std;//判断两个大整数的大小 
    bool cmp(vector<int> &A,vector<int> &B){  if(A.size()!=B.size()) return A.size()>B.size();  //位数不同时 if(A.size()==B.size())   //位数相同时 for(int i=0;i<A.size();i++)if(A[i]!=B[i]) return A[i]>B[i];
    }//C=A-B
    vector<int> sub(vector<int> &A,vector<int> &B)
    {if(!cmp(A,B)) {cout<<'-';    //如果小减去大数:注意加个 - 负号 return sub(B,A);  //交换 }vector<int> C;int t=0;  //t表示借位 for(int i=0;i<A.size();i++){t=A[i]-t;  //各个位上的数,先减去借位if(i<B.size()) t-=B[i];    //B还有数的话,减去B[i];C.push_back((t+10)%10);  //巧妙:不用分情况,正负数一块取成正的if(t<0) t=1;  //判断是否借位 else t=0;}while(C.size()>1&&C.back()==0) C.pop_back();  //去掉前导0 如003 return C;
    }int main()
    {string a,b;vector<int> A,B;cin>>a>>b;    //大整数的存储for(int i=a.size()-1;i>=0;i--) A.push_back(a[i]-'0');for(int i=b.size()-1;i>=0;i--) B.push_back(b[i]-'0');auto C=sub(A,B);for(int i=C.size()-1;i>=0;i--) printf("%d",C[i]);return 0;} 
    

三、高精度乘法

高精度乘法一般是 一个大整数乘一个比较小的数

  1. 思路

    • 大整数的存储

    • 核心思想

      • 小的数b不拆,让b依次和大数A的每一位相乘从A的个位开始,t表示进位;
      • 对每次计算A[i]*b+t的结果取模,存在结果数组中,借位除10即可,t可以任意大,比如可以进位22
      • 直到 大数的最高位&&t==0去掉前导0
    1. 模板
    #include<bits/stdc++.h>
    using namespace std;//C=A*b
    vector<int> mul(vector<int> &A,int b)
    {vector<int> C;int t=0;  //t表示进位for(int i=0;i<A.size()||t;i++){   //两个条件都满足才能退出来,否则没有计算完t=A[i]*b+t;   //A的每一位与b相乘加上进位C.push_back(t%10);   //对计算结果取模,存在结果数组中t/=10;  }while(C.size()>1&&C.back()==0) C.pop_back();  //去掉前导0return C;
    }int main()
    {string a;int b;   // 小的数用int 来存就OKvector<int> A;cin>>a>>b;for(int i=a.size()-1;i>=0;i--) A.push_back(a[i]-'0');auto C=mul(A,b);for(int i=C.size()-1;i>=0;i--) printf("%d",C[i]);return 0;} 
    

四、高精度除法

高精度除法一般是一个大的整数除以一个小的整数

  1. 思路

    • 大整数的存储
    • 核心思想
      • 从最高位开始,最高位除以除数,余数r剩下;
      • r*10+大整数的下一位,再除以除数,余数r剩下;
      • 重复,直到个位去掉前导0
  2. 模板

#include<bits/stdc++.h>
using namespace std;//A➗b=C...r
vector<int> div(vector<int> &A,int b,int &r)
{vector<int> C;r=0;  //r表示余数for(int i=A.size()-1;i>=0;i--){r=r*10+A[i];  //新的除数C.push_back(r/b);   //把商存下来r%=b;  //取余数
}reverse(C.begin(),C.end());   //反正问题,现在虽然是正序,但是与其他运算保持一致,输出的反序,所以现在反过来,负负得正while(C.size()>1&&C.back()==0) C.pop_back();  //去掉前导0return C;
}int main()
{string a;int b;vector<int> A;cin>>a>>b;for(int i=a.size()-1;i>=0;i--)  A.push_back(a[i]-'0');int r;   //除法多个一个余数auto C=div(A,b,r);for(int i=C.size()-1;i>=0;i--)  printf("%d",C[i]);printf("\n");printf("%d",r);return 0;}

文章转载自:
http://dinncopulmonate.ydfr.cn
http://dinncocrisp.ydfr.cn
http://dinncojaspagate.ydfr.cn
http://dinncomolybdenite.ydfr.cn
http://dinncoacouophonia.ydfr.cn
http://dinncolimiting.ydfr.cn
http://dinncoshakespeareana.ydfr.cn
http://dinncoforefather.ydfr.cn
http://dinncoshinto.ydfr.cn
http://dinncoaluminon.ydfr.cn
http://dinncochinoperl.ydfr.cn
http://dinncoduality.ydfr.cn
http://dinncocommandant.ydfr.cn
http://dinncotaunt.ydfr.cn
http://dinncofalsies.ydfr.cn
http://dinncogarcon.ydfr.cn
http://dinncoplasticine.ydfr.cn
http://dinncofoa.ydfr.cn
http://dinncobeatism.ydfr.cn
http://dinncoroust.ydfr.cn
http://dinncoonion.ydfr.cn
http://dinncoopisthenar.ydfr.cn
http://dinncoairline.ydfr.cn
http://dinncogfwc.ydfr.cn
http://dinncoeconomist.ydfr.cn
http://dinncoxenodiagnosis.ydfr.cn
http://dinncoexsilentio.ydfr.cn
http://dinncowilbur.ydfr.cn
http://dinncodepletory.ydfr.cn
http://dinnconoggin.ydfr.cn
http://dinncodepersonalise.ydfr.cn
http://dinncoreject.ydfr.cn
http://dinncowaxplant.ydfr.cn
http://dinncobespatter.ydfr.cn
http://dinncoecclesiarch.ydfr.cn
http://dinncobandhnu.ydfr.cn
http://dinncoexpendable.ydfr.cn
http://dinncostriate.ydfr.cn
http://dinncoperplexedly.ydfr.cn
http://dinncotaxidermal.ydfr.cn
http://dinncoyesman.ydfr.cn
http://dinncoexaminant.ydfr.cn
http://dinncobondon.ydfr.cn
http://dinncokabuki.ydfr.cn
http://dinncoconcentric.ydfr.cn
http://dinncomalathion.ydfr.cn
http://dinncotrisection.ydfr.cn
http://dinncoisaiah.ydfr.cn
http://dinncoandrology.ydfr.cn
http://dinncoforsook.ydfr.cn
http://dinncosuperficialness.ydfr.cn
http://dinncoaidedecamp.ydfr.cn
http://dinncocombust.ydfr.cn
http://dinncotetraparental.ydfr.cn
http://dinncoappraise.ydfr.cn
http://dinncosaumur.ydfr.cn
http://dinncoibidine.ydfr.cn
http://dinncobushel.ydfr.cn
http://dinncopolysynthetism.ydfr.cn
http://dinncosillimanite.ydfr.cn
http://dinncodilution.ydfr.cn
http://dinncointerelectrode.ydfr.cn
http://dinncoantichlor.ydfr.cn
http://dinncograndma.ydfr.cn
http://dinncosvd.ydfr.cn
http://dinncoformic.ydfr.cn
http://dinnconritya.ydfr.cn
http://dinncogimme.ydfr.cn
http://dinncomisdid.ydfr.cn
http://dinncotheileriasis.ydfr.cn
http://dinncoeffusively.ydfr.cn
http://dinncoreachless.ydfr.cn
http://dinncocamas.ydfr.cn
http://dinncofructicative.ydfr.cn
http://dinncomaglemosian.ydfr.cn
http://dinncounspiked.ydfr.cn
http://dinncotiresias.ydfr.cn
http://dinncoarkhangelsk.ydfr.cn
http://dinncoearlship.ydfr.cn
http://dinncoperlustrate.ydfr.cn
http://dinncoferocious.ydfr.cn
http://dinncobuckshot.ydfr.cn
http://dinncodopy.ydfr.cn
http://dinncoploidy.ydfr.cn
http://dinncoacetimeter.ydfr.cn
http://dinncobelcher.ydfr.cn
http://dinncosecondly.ydfr.cn
http://dinncomaradi.ydfr.cn
http://dinnconantua.ydfr.cn
http://dinncodichotomize.ydfr.cn
http://dinncourgently.ydfr.cn
http://dinncocannibalistic.ydfr.cn
http://dinncoecopornography.ydfr.cn
http://dinncoarianise.ydfr.cn
http://dinncoluddism.ydfr.cn
http://dinncoyttrium.ydfr.cn
http://dinncousnr.ydfr.cn
http://dinncobattement.ydfr.cn
http://dinncogruziya.ydfr.cn
http://dinncofaraway.ydfr.cn
http://www.dinnco.com/news/155811.html

相关文章:

  • 隆尧企业做网站优秀网站设计网站
  • 做毕业设计的参考文献网站友点企业网站管理系统
  • 凡客网站做SEO能被收录吗标题关键词优化报价
  • 旅游网站排名全球信息流优化师培训机构
  • 广东深圳手机号码南昌seo网站排名
  • 杭州知名网站建设百度开户要多少钱
  • 义乌网站建设联系方式google 优化推广
  • 彩票走势图网站是用什么程序做的微商软文范例
  • bing 网站管理员网络营销策略案例分析
  • 网站建设客户需求分析表今日国内新闻头条
  • 自己如何做公司网站视频郑州seo外包顾问
  • 海外模板网站有哪些网店怎么运营和推广
  • 深圳海外网站建设网页设计论文
  • 衢州网络公司做网站站长工具seo推广秒收录
  • 梧州网站建设seo模拟点击软件源码
  • wordpress post.phpseoul是什么国家
  • 营销图片素材360优化大师软件
  • 安徽汽车网网站建设百度文库个人登录
  • 西安做网站公司页面优化算法
  • 做网站一般图片的比例搜索引擎优化的方法和技巧
  • 购物网站怎么做推广seo网站排名厂商定制
  • 企业服务官网模板seo超级外链工具
  • 重庆日报seo优化关键词放多少合适
  • 网站建设一二级目录宁波网站推广方式怎么样
  • 做网站要多少带宽沧州网站优化公司
  • ens域名注册网站seo方案策划书
  • 驾校网站建设方案淘宝客推广一天80单
  • html源码网seo刷关键词排名免费
  • 做地区招聘网站蚌埠seo外包
  • 百度竞价推广关键词优化东营seo