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

益阳网站制作公司百度推广渠道

益阳网站制作公司,百度推广渠道,展会搭建设计案例网站,公众号制作视频教学视频首先声明,没有除法是因为我不会(手动狗头_doge) 简介 顾名思义,高精度算法是用来算一些超级大的数,比如长到 longlong 都存不下的那种,还有就是小数点后好多位,double都存不下的那种&#xff…

首先声明,没有除法是因为我不会(手动狗头_doge)

简介

顾名思义,高精度算法是用来算一些超级大的数,比如长到 longlong 都存不下的那种,还有就是小数点后好多位,double都存不下的那种,今天我写的是第一种——大数。

注意!!!不要输入负数!!!

#include<bits/stdc++.h>
using namespace std;
string a;
string b;
string func(string,string);
int main()
{cin>>a>>b;cout<<func(a,b);return 0;
}
string func(string x,string y)
{int n[1000]={0};int m[1000]={0};int s[1000]={0};//1.把用户输入的数转进一个个int,每个数位占一个空间//由于数组特性,还要把整个数字反转过来,方便后续处理int la=x.size();int lb=y.size();for(int i=0;i<la;i++){n[la-1-i]=x[i]-48;}for(int i=0;i<lb;i++){m[lb-1-i]=y[i]-48;}//2.逐位相加,暂时不进位for(int i=0;i<max(la,lb);i++){s[i]=n[i]+m[i];}//3.进位for(int i=0;i<max(la,lb);i++){if(s[i]>=10){s[i+1]++;s[i]=s[i]-10;}}//4.在数组结尾处做标记,方便读取int p=-1;for(int i=max(la,lb)+1;i>=0;i--){if(s[i]!=0){p=i;break;}}//5.读取运算结果,转入stringstring ss="";for(int i=0;i<=p;i++){ss=(char)(s[i]+48)+ss;}return ss;
}

(自动选取大数减去小数)

#include<bits/stdc++.h>
using namespace std;
string a;
string b;
string func(string,string);
int main()
{cin>>a>>b;cout<<func(a,b);return 0;
}
string func(string x,string y)
{//备注:f为true是m比n大,反之亦然//1.首先要反转数组,再比出两个数哪个大,因为负数不好处理//相等直接输出0if(x==y)return 0;int n[10010]={0};int m[10010]={0};int s[10010]={0};//最终答案所在数组int ln=x.size();int lm=y.size();bool f=true;for(int i=0;i<ln;i++){n[ln-1-i]=x[i]-48;}for(int i=0;i<lm;i++){m[lm-1-i]=y[i]-48;}//比大小if(ln>lm){f=false;}else if(ln==lm&&x>y){f=false;}//2.分情况进行计算if(f==true){for(int i=0;i<lm;i++){s[i]=m[i]-n[i];}}else{for(int i=0;i<ln;i++){s[i]=n[i]-m[i];}}//3.退位for(int i=0;i<max(ln,lm);i++){if(s[i]<0){s[i+1]--;s[i]+=10;}}//4.在数组结尾处做标记,方便读取int p=-1;for(int i=max(ln,lm)+1;i>=0;i--){if(s[i]!=0){p=i;break;}}//5.输出结果string ss="";for(int i=0;i<=p;i++){ss=(char)(s[i]+48)+ss;}return ss;
}

#include<bits/stdc++.h>
using namespace std;
string a;
string b;
string func(string,string);
int main()
{cin>>a>>b;cout<<func(a,b);return 0;
}
string func(string x,string y)
{int n[10010]={0};int m[10010]={0};int s[20020]={0};int ln=x.size();int lm=y.size();//1.反转数字for(int i=0;i<ln;i++){n[ln-1-i]=x[i]-48;}for(int i=0;i<lm;i++){m[lm-1-i]=y[i]-48;}//2.逐位相乘,错位相加for(int i=0;i<lm;i++){for(int j=0;j<ln;j++){s[i+j]+=m[i]*n[j];}}//3.进位for(int i=0;i<ln+lm;i++){s[i+1]+=s[i]/10;s[i]=s[i]%10;}//4.在数组结尾处做标记,方便读取int p=-1;for(int i=ln+lm;i>=0;i--){if(s[i]!=0){p=i;break;}}//5.输出结果string ss="";for(int i=0;i<=p;i++){ss=(char)(s[i]+48)+ss;}if(p==-1){return "0";}return ss;
}

加减乘混合

(输入两个数以后再次输入一个数,1是加法,2是减法,3是乘法)

(别想了,输入123以外的数会有提示)

#include<bits/stdc++.h>
#include<string.h>
#include<string>
using namespace std;
string a;
string b;
string funcjia(string,string);
string funcjian(string,string);
string funccheng(string,string);
int main()
{cin>>a>>b;int t;cin>>t;if(t==1){cout<<funcjia(a,b);}else if(t==2){cout<<funcjian(a,b);}else if(t==3){cout<<funccheng(a,b);}else{cout<<"Sorry,I can't find it.";}return 0;
}
string funcjia(string x,string y)
{int n[1000]={0};int m[1000]={0};int s[1000]={0};//1.把用户输入的数转进一个个int,每个数位占一个空间//由于数组特性,还要把整个数字反转过来,方便后续处理int ln=x.size();int lm=y.size();for(int i=0;i<ln;i++){n[ln-1-i]=x[i]-48;}for(int i=0;i<lm;i++){m[lm-1-i]=y[i]-48;}//2.逐位相加,暂时不进位for(int i=0;i<max(ln,lm);i++){s[i]=n[i]+m[i];}//3.进位for(int i=0;i<max(ln,lm);i++){if(s[i]>=10){s[i+1]++;s[i]=s[i]-10;}}//4.在数组结尾处做标记,方便读取int p=-1;for(int i=max(ln,lm)+1;i>=0;i--){if(s[i]!=0){p=i;break;}}//5.读取运算结果,转入stringstring ss="";for(int i=0;i<=p;i++){ss=(char)(s[i]+48)+ss;}return ss;
}
string funcjian(string x,string y)
{//备注:f为true是m比n大,反之亦然//1.首先要反转数组,再比出两个数哪个大,因为负数不好处理//相等直接输出0if(x==y)return 0;int n[10010]={0};int m[10010]={0};int s[10010]={0};//最终答案所在数组int ln=x.size();int lm=y.size();bool f=true;for(int i=0;i<ln;i++){n[ln-1-i]=x[i]-48;}for(int i=0;i<lm;i++){m[lm-1-i]=y[i]-48;}//比大小if(ln>lm){f=false;}else if(ln==lm&&x>y){f=false;}//2.分情况进行计算if(f==true){for(int i=0;i<lm;i++){s[i]=m[i]-n[i];}}else{for(int i=0;i<ln;i++){s[i]=n[i]-m[i];}}//3.退位for(int i=0;i<max(ln,lm);i++){if(s[i]<0){s[i+1]--;s[i]+=10;}}//4.在数组结尾处做标记,方便读取int p=-1;for(int i=max(ln,lm)+1;i>=0;i--){if(s[i]!=0){p=i;break;}}//5.输出结果string ss="";for(int i=0;i<=p;i++){ss=(char)(s[i]+48)+ss;}return ss;
}
string funccheng(string x,string y)
{int n[10010]={0};int m[10010]={0};int s[20020]={0};int ln=x.size();int lm=y.size();//1.反转数字for(int i=0;i<ln;i++){n[ln-1-i]=x[i]-48;}for(int i=0;i<lm;i++){m[lm-1-i]=y[i]-48;}//2.逐位相乘,错位相加for(int i=0;i<lm;i++){for(int j=0;j<ln;j++){s[i+j]+=m[i]*n[j];}}//3.进位for(int i=0;i<ln+lm;i++){s[i+1]+=s[i]/10;s[i]=s[i]%10;}//4.在数组结尾处做标记,方便读取int p=-1;for(int i=ln+lm;i>=0;i--){if(s[i]!=0){p=i;break;}}//5.输出结果string ss="";for(int i=0;i<=p;i++){ss=(char)(s[i]+48)+ss;}if(p==-1){return "0";}return ss;
}

http://www.cadmedia.cn/news/9689.html

相关文章:

  • 广东企业备案 网站建设方案书搜外seo视频 网络营销免费视频课程
  • 网站显示正在建设是什么意思新东方雅思培训价目表
  • 深圳市住建局诚信登记平台优化网站怎么真实点击
  • 地区网站建设品牌营销包括哪些内容
  • 贵阳好的网站建设2000元代理微信朋友圈广告
  • 沈阳关键词搜索排名天津百度关键词seo
  • 国内卡一卡二卡三网站视频黄页网站推广公司
  • 网站建设服务合同交印花税吗百度竞价被换着ip点击
  • 昌平做网站的公司关键词优化精灵
  • wordpress 全景图插件江西网络推广seo
  • 中国建设厅网站首页百度官网入口链接
  • 微网站开发平台免费网站优化一年多少钱
  • 韩文网站建设企业邮箱登录入口
  • 怎么自己做游戏软件seo网络推广外包公司
  • 服务商登封搜索引擎优化
  • 网站建设网站公司哪家好统计工具
  • 中国互联网数据平台官网seo引擎优化平台培训
  • 重庆建站公司官网seo助理
  • 上海网站建设网页营销技巧和营销方法
  • 江西商城网站建设网站建设平台哪家好
  • 沈阳市城乡建设局网站惠州网站营销推广
  • 海报素材网重庆seo优
  • 曲阜网站建设哪家便宜西安seo优化培训
  • 企业网站建设源码+微信+手机成免费的crm
  • 南通优普高端网站建设今天刚刚的最新新闻
  • 网页设计素材有两种分别是什么抖音seo优化软件
  • 超市网站建设策划书互联网产品推广是做什么的
  • 毕业设计网站源码百度视频推广
  • 建筑行业真的凉了吗搜狗seo
  • 温州网站建设团队seo公司推荐