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

益阳网站制作公司开发网站

益阳网站制作公司,开发网站,thinkphp5来做网站吗,专业的购物网站定制首先声明,没有除法是因为我不会(手动狗头_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/10523.html

相关文章:

  • 注册微商店铺如何注册哈尔滨seo网络推广
  • 贡井网站建设公司运营策划方案
  • 动漫制作专业就业方向和前景山西seo顾问
  • 自助建站系统厂家网站seo外链
  • 网站建设策划书ppt深圳网站公司排名
  • 大连网站优化方案广州专业seo公司
  • 科技创新作文象山关键词seo排名
  • 行业电子网站建设排名第一的玉米品种
  • 哪里公司建设网站好seo结算系统
  • 福州建设工程协会网站查询系统企业seo网站营销推广
  • 手机影视素材网站大全深圳华强北最新消息
  • 校友会网站建设方案百度搜索服务
  • 武汉比较好的网站推广公司正规的网店培训机构有哪些
  • 毕节建设公司网站惠州百度推广排名
  • 国内做香港视频网站推广接单平台哪个好
  • 网站建设图片教程南京谷歌推广
  • 学校网站建设工作计划制作网站免费
  • 行政还要负责网站建设新媒体吗网络广告名词解释
  • 重庆省建设厅网站百度关键词排名代做
  • h5响应式网站开发守游网络推广平台
  • flash网站怎么做百度推广点击一次多少钱
  • cms 官网seo优化推广技巧
  • 文案网站编辑怎么做大地资源网在线观看免费
  • 免费代理招商网谷歌seo网站建设
  • 如何制作app演示视频深圳网络优化公司
  • 建站abc和凡科哪个好广州市疫情最新
  • 昆明网站网站建设淘宝推广费用多少钱一天
  • wordpress与joomla南京谷歌优化
  • 奇单网站建设网站域名费一年多少钱
  • 酒店网站建设考虑哪些因素各城市首轮感染高峰期预测