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

免费下载建设银行官方网站下载新手销售怎么和客户交流

免费下载建设银行官方网站下载,新手销售怎么和客户交流,兰州seo快速优化报价,wordpress 教程 pdf全篇写得有点简陋,可能需要有一定基础才能看懂,主要是自己复习算法的过程中记录一下,复习&熟悉一下高精度。 高精度加法 Q:为什么是逆序读入大数字? A:我们在进行加法的时候是从个位数(最右…

全篇写得有点简陋,可能需要有一定基础才能看懂,主要是自己复习算法的过程中记录一下,复习&熟悉一下高精度。


高精度加法

Q:为什么是逆序读入大数字?
A:我们在进行加法的时候是从个位数(最右侧的数字)开始,而数组是从首位加到末尾(从左往右),所以个位对应数组的首位。

vector<int> add(vector<int> &A,vector<int> &B)
{vector<int> C;int t=0; for(int i=0;i<A.size() || i<B.size() || t;i++){if(i<A.size()) t+=A[i];if(i<B.size()) t+=B[i];C.push_back(t%10);//t>=10,为1,进位;t<10,为0,不进位t/=10;   } if(t) C.push_back(1);  return C;
}

测试代码:

#include <iostream>
#include <vector>using namespace std;vector<int> add(vector<int> &A, vector<int> &B)
{vector<int> ret;int t = 0;for (int i = 0; i < A.size() || i < B.size(); i++){if (i < A.size())t += A[i];if (i < B.size())t += B[i];ret.push_back(t % 10);t /= 10;}if (t)ret.push_back(1);return ret;
}int main()
{string a = "123456789", b = "987654321";// cin >> a >> b;vector<int> 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');vector<int> ret = add(A, B);for (int i = ret.size() - 1; i >= 0; i--)cout << ret[i];return 0;
}

高精度减法

和加法差不多的思想。多了一个正负号的判断,这里就直接上完整代码了。

#include <iostream>
#include <vector>using namespace std;
// 判断是否有A>=B
bool cmp(vector<int> &A, vector<int> &B) {if (A.size() != B.size()) return A.size() > B.size();for (int i = A.size() - 1; i >= 0; i--)if (A[i] != B[i]) return A[i] > B[i];return true;
}// C=A-B
vector<int> sub(const vector<int> &A, const vector<int> &B) {vector<int> ret;int borrow = 0;  // 借位for (int i = 0; i < A.size(); ++i) {int a = A[i] - borrow;int b = (i < B.size()) ? B[i] : 0;if (a < b) {a += 10;borrow = 1;} else {borrow = 0;}ret.push_back(a - b);}// 移除前导零while (ret.size() > 1 && ret.back() == 0) {ret.pop_back();}return ret;
}int main() {string a = "9223372036854775807", b = "9223372036854775807";vector<int> A, B;//   cin >> a >> b;  // a="123456"for (int i = a.size() - 1; i >= 0; i--)A.push_back(a[i] - '0');  // A=[6,5,4,3,2,1]for (int i = b.size() - 1; i >= 0; i--) B.push_back(b[i] - '0');if (cmp(A, B)) {vector<int> C = sub(A, B);for (int i = C.size() - 1; i >= 0; i--) cout << C[i];} else  // 若A<B时,用B-A再在前面加个负号{vector<int> C = sub(B, A);cout << "-";for (int i = C.size() - 1; i >= 0; i--) cout << C[i];}return 0;
}

高精度乘法

写得有点抽象了,有问题的话甩给gpt自己可以仔细琢磨一下,然后用纸笔模拟一下就能理解了。这里不做过多解释。就是拿A的每一位去乘B的所有位。
如:A是123,B是456,那么逆序之后就是 A [ 3 , 2 , 1 ] , B [ 6 , 5 , 4 ] A[3,2,1],B[6,5,4] A[3,2,1]B[6,5,4]
先用3去分别乘6、5、4;再拿2分别乘6、5、4,最后拿1乘。over

#include <iostream>
#include <vector>using namespace std;vector<int> mul(const vector<int> &A, const vector<int> &B) {vector<int> ret(A.size() + B.size(), 0);for (int i = 0; i < A.size(); ++i) {int a = A[i];for (int j = 0; j < B.size(); ++j) {int b = B[j];ret[i + j] += a * b;ret[i + j + 1] += ret[i + j] / 10;ret[i + j] %= 10;}}while (ret.size() > 1 && ret.back() == 0) {ret.pop_back();}return ret;
}int main() {string a = "1332233", b = "1332233";vector<int> 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');}vector<int> ret = mul(A, B);for (int i = ret.size() - 1; i >= 0; --i) {cout << ret[i];}return 0;
}

高精度除法

稍等,还在整理…

http://www.dtcms.com/wzjs/406423.html

相关文章:

  • 做外贸怎么网站找客户企业邮箱注册申请
  • 长沙建站智找有为太极win7优化极致性能
  • 百度网站客服电话网络营销推广主要做什么
  • 外贸响应式网站建设百度pc端网页版
  • 淮南网站推广网站查询seo
  • 推广普通话的宣传内容win7最好的优化软件
  • 图片网站 seo网店代运营骗局流程
  • 用易语言做网站如何网址模板建站
  • 网站开发 工具整站优化关键词排名
  • 网站建设与制作好学吗上海网站seo优化
  • wordpress仿小米主题惠州短视频seo
  • 做瞹视频网站数据分析网
  • 做网站要什么专业怎么做
  • 0基础做网站工具什么平台打广告比较好免费的
  • 网站添加外链南京谷歌seo
  • 做亚马逊联盟一定要有网站吗百度指数查询官网入口登录
  • 如何提升网站知名度百度免费网站制作
  • 李氏牛仔网站建设风格引流人脉推广软件
  • 网站建设特点营销最好的方法
  • 网站底部背景手机网站百度关键词排名查询
  • 网站开发就业外部威胁长尾关键词
  • 公司网站建设哪里实惠广州seo代理
  • 成都高端网站建设公司哪家好互动网站建设
  • 重庆潼南网站建设公司西安seo网站关键词优化
  • 驾校网站建设和推广怎么推广自己的网站
  • 黑客网站模拟器如何找外包的销售团队
  • 淘客做网站有必要吗不屏蔽的国外搜索引擎
  • php网站方案宁波seo推广咨询
  • 做网站首页ps分辨率多少公司推广
  • 微网站 百度地图营销课程培训哪个机构好