当前位置: 首页> 房产> 家装 > seo关键词推广怎么做_制作相册图片合集_广告代理_百度网盘搜索引擎入口

seo关键词推广怎么做_制作相册图片合集_广告代理_百度网盘搜索引擎入口

时间:2025/7/15 2:15:43来源:https://blog.csdn.net/sunshinecandy/article/details/146556833 浏览次数:0次
seo关键词推广怎么做_制作相册图片合集_广告代理_百度网盘搜索引擎入口

C++11大数加减

// 20190412.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//#include "pch.h"
#include <iostream>
#include <algorithm> // sort find find_if
#include <string>
#include <vector>
using namespace std;// 大整数类型
class BigInt
{
public:BigInt(string str) :strDigit(str) {}
private:string strDigit;   // 使用字符串存储大整数friend ostream& operator<<(ostream &out, const BigInt &src);friend BigInt operator+(const BigInt &lhs, const BigInt &rhs);friend BigInt operator-(const BigInt &lhs, const BigInt &rhs);
};
// 打印函数
ostream& operator<<(ostream &out, const BigInt &src)
{out << src.strDigit;return out;
}
// 大数加法
BigInt operator+(const BigInt &lhs, const BigInt &rhs)
{/*遍历字符串l,r,从后往前遍历同位置的数字相加, 进位 flag  存入一个结果当中 string result同时完成某个字符串先完成   都要考虑进位*/ string result;bool flag = false;int size1 = lhs.strDigit.length() - 1;int size2 = rhs.strDigit.length() - 1;int i = size1, j = size2;for (; i >= 0 && j >= 0; --i, --j){int ret = lhs.strDigit[i] - '0' + rhs.strDigit[j] - '0';if (flag){ret += 1;flag = false;}if (ret >= 10){ret %= 10;flag = true;}result.push_back(ret + '0');}// i jif (i >= 0){while (i >= 0){int ret = lhs.strDigit[i] - '0';if (flag){ret += 1;flag = false;}if (ret >= 10){ret %= 10;flag = true;}result.push_back(ret + '0');i--;}}else if (j >= 0){while (j >= 0){int ret = rhs.strDigit[j] - '0';if (flag){ret += 1;flag = false;}if (ret >= 10){ret %= 10;flag = true;}result.push_back(ret + '0');j--;}}if (flag){result.push_back('1');}reverse(result.begin(), result.end());return result; // return BigInt(result);
}
// 大数减法
BigInt operator-(const BigInt &lhs, const BigInt &rhs)
{/*找大的字符串左减数,小的左被减数遍历两个字符串,减法,借位(bool flag), string result 存下来 */string result;bool flag = false;bool minor = false;string maxStr = lhs.strDigit;string minStr = rhs.strDigit;if (maxStr.length() < minStr.length()){maxStr = rhs.strDigit;minStr = lhs.strDigit;minor = true;}else if (maxStr.length() == minStr.length()){if (maxStr < minStr){maxStr = rhs.strDigit;minStr = lhs.strDigit;minor = true;}else if (maxStr == minStr){return string("0");}}else{;}int size1 = maxStr.length() - 1;int size2 = minStr.length() - 1;int i = size1, j = size2;for (; i >= 0 && j >= 0; --i, --j){int ret = maxStr[i] - minStr[j];if (flag){ret -= 1;flag = false;}if (ret < 0){ret += 10;flag = true;}result.push_back(ret + '0');}while (i >= 0){int ret = maxStr[i]-'0';if (flag){ret -= 1;flag = false;}if (ret < 0){ret += 10;flag = true;}result.push_back(ret + '0');i--;} if (minor){result.push_back('-');}reverse(result.begin(), result.end());return result;
}
int main()
{BigInt int1("9785645649886874535428765");BigInt int2("28937697857832167849697653231243");BigInt int3("9785645649886874535428765");//28937707643477817736572188660008//28937707643477817736572188660008cout << int1 + int2 << endl;//28937688072186517962823117802478//28937688072186517962823117802478cout << int1 - int2 << endl;return 0;
}// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
// 调试程序: F5 或调试 >“开始调试”菜单// 入门提示: 
//   1. 使用解决方案资源管理器窗口添加/管理文件
//   2. 使用团队资源管理器窗口连接到源代码管理
//   3. 使用输出窗口查看生成输出和其他消息
//   4. 使用错误列表窗口查看错误
//   5. 转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目
//   6. 将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择 .sln 文件
关键字:seo关键词推广怎么做_制作相册图片合集_广告代理_百度网盘搜索引擎入口

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: