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

代做毕业设计网站哈尔滨百度网络推广

代做毕业设计网站,哈尔滨百度网络推广,网站开发需要什么语言,郑州电力高等专科学校电话蓝桥账户中心 高精度核心思路&#xff1a;使用vector存储每一位数&#xff0c;倒序存储&#xff0c;即数组从低到高存储的是个位数。 注意减法、乘法、除法都需要去掉前导零 加法&#xff1a; vector<int> add(vector<int> &A, vector<int> &B) …

蓝桥账户中心

高精度核心思路:使用vector存储每一位数,倒序存储,即数组从低到高存储的是个位数。

注意减法、乘法、除法都需要去掉前导零

加法:

vector<int> add(vector<int> &A, vector<int> &B)
{vector<int> C;int t = 0;//t来存进位 for(int i = 0;i < A.size() || i < B.size();i ++)//从个位开始加 {if(i < A.size()) t += A[i];// t = t + A[i] + B[i] if(i < B.size()) t += B[i];//注意位数的问题啊!!C.push_back(t % 10);t /= 10;}if(t) C.push_back(1);//如果t最后不为零要加上一位数 return C;
}

减法:

 减法特指大数减去小的数,因为如果 A - B < 0, 就计算 B - A , 输出时加上负号即可

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;
}vector<int> sub(vector<int> &A, vector<int> &B)
{vector<int> C;for(int i = 0, t = 0;i < A.size();i ++)//从第一位开始减,t存的是借位 {t = A[i] - t;if(i < B.size()) t -= B[i];C.push_back((t + 10) % 10);//如果t > 0,t不变,如果t < 0, 把t加上10 if(t < 0) t = 1;//如果 t < 0, 表示往前借了一位 else t = 0;}while(C.size() > 1 && C.back() == 0) C.pop_back();//减法需要去掉前导零 return C;
}

乘法:

#include <iostream>
#include <vector>using namespace std;vector<int> mul(vector<int> &A, int &b)
{vector<int> C;for(int i = 0, t = 0;i < A.size() || t;i ++) //从个位开始乘 {if(i < A.size()) t += A[i] * b;//t存的也是进位 C.push_back(t % 10);t /= 10; }while(C.size() > 1 && C.back() == 0) C.pop_back();return C;
}

除法:

vector<int> div(vector<int> &A, int b)
{vector<int> C;for(int i = A.size() - 1;i >= 0;i --)//除法是从最高位开始除的,r存的是余数 {r = r * 10 + A[i];//每次r都是前一位的余数,因此要乘10 C.push_back(r / b);r %= b;}reverse(C.begin(), C.end());//除法最后存的数是正着存的,因此需要反转一次 while(C.size() > 1 && C.back() == 0) C.pop_back();return C;
}

R格式这道题使用的是①高精度数乘低精度数和②高精度数加低精度数

需要注意的是 ——小数点可以直接忽略掉,只需要保存下整数的位数即可

#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>using namespace std;int n;
string d;
int dot;
vector<int> D;void mul()//高精度加 
{int t = 0;for(int i = 0;i < D.size();i ++ ){t += D[i] * 2;D[i] = t % 10;t /= 10;}if(t) D.push_back(t);
}void add(int b)
{int t = b;//注意只有个位上的数字需要加一 for(int i = dot;i < D.size();i ++ ){t += D[i];D[i] = t % 10;t /= 10;}if(t) D.push_back(t);//如果t > 0,需要增加一位 
}int main()
{cin >> n >> d;for(int i = d.size() - 1;i >= 0;i --)if(d[i] != '.')D.push_back(d[i] - '0');reverse(d.begin(), d.end());//将浮点数反转,保存下来整数的位数 dot = d.find('.');for(int i = 0;i < n;i ++ ) mul();if(D[dot - 1] >= 5) add(1);//小数点后一位是dot - 1位 for(int i = D.size() - 1;i >= dot;i --) cout << D[i];cout << endl;return 0;
}

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

相关文章:

  • 网页设计学徒培训招生杭州seo网
  • 小装修网站开发费用网站网络营销
  • 长沙做网站设计宁宁网seo
  • 成都旅游景点大全排名seo技术培训唐山
  • 阿里云做网站买什么如何创建自己的域名
  • 做网站最烂公司短期培训学什么好
  • 手机做网站怎么做怎么做起泡胶
  • 哪些公司网站做的好公司以优化为理由裁员合法吗
  • 网站建设哪家好胆中毒百度信息流广告推广
  • 网络促销分类 网站促销qq空间刷赞网站推广
  • 如何建设内网网站看片子用什么app免费苹果手机
  • 靠谱网站建设公司收费广州优化网站排名
  • 人才网站 建设好 窗口域名历史查询工具
  • 网站制作的设计思路seo原创工具
  • 江苏省建设厅网站怎么登不上营销课程培训都有哪些
  • 做网站的经验和体会百度游戏官网
  • 公司网站怎么能被百度收录嘉兴seo外包公司费用
  • 网络工程师app谷歌seo优化中文章
  • 瓦房店 网站建设营销软件代理推广
  • wap企业网站口碑营销成功案例
  • 做app网站的软件叫什么名字吗快排seo软件
  • 网站托管服务网站优化排名金苹果下拉
  • 计算机上网题的模拟网站怎么做凡科网建站系统源码
  • 公司做网站所上传的产品图片seo免费优化软件
  • 好的品牌设计网站有哪些网络优化初学者难吗
  • 政府门户网站建设策划深圳网络推广培训学校
  • 建立企业网站多少钱网络服务公司
  • 网站建设的验收seo营销优化软件
  • 淘宝客 网站建设不完整廊坊seo关键词排名
  • 澄海建网站北京网站sem、seo