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

网站开发部组织架构廊坊视频优化推广

网站开发部组织架构,廊坊视频优化推广,网站设计入门,视频变成网站怎么做介绍说明 32位整数的计算机可以表示整数的范围近似为-20亿到+20亿。在这个范围内操作一般不会出现问题, 但是有的应用程序可能需要使用超出上述范围的整数。 C可以满足这个需求,创建功能强大的新的数据类型。 根据后缀, 定义一个大…

介绍说明

32位整数的计算机可以表示整数的范围近似为-20亿到+20亿。在这个范围内操作一般不会出现问题,
但是有的应用程序可能需要使用超出上述范围的整数。 C++可以满足这个需求,创建功能强大的新的数据类型。 根据后缀, 定义一个大整数类,
实现大整数的加、减、乘、除、幂、输出重载等,并能去计算pi的值。 输入一个整数n, 输出圆周率的前n位数字(不包含小数点) 样例输入 3
样例输入 314 样例输入 1000 样例输出
314159265358979323846264338327950288419716939937510582097494459230781640
62862089986280348253421170679821480865132823066470938446095505822317253594081284…

运行截图

代码运行截图

完整代码


#include <iostream>class TeamWorkBigInt
{
private:static const int digits = 10000;short integer[digits];
public:int sign = 1;TeamWorkBigInt(long = 0); // 构造friend TeamWorkBigInt operator+(const TeamWorkBigInt&, const TeamWorkBigInt&);//两个大数相加TeamWorkBigInt operator+(int) const;//大数加intTeamWorkBigInt operator-(const TeamWorkBigInt&) const;int operator > (const TeamWorkBigInt&) const;int operator>=(const TeamWorkBigInt& op2) const;int operator==(const TeamWorkBigInt& op2) const;TeamWorkBigInt operator * (const TeamWorkBigInt&) const;TeamWorkBigInt operator * (int) const;TeamWorkBigInt operator / (int);TeamWorkBigInt operator / (const TeamWorkBigInt&);TeamWorkBigInt& operator = (int);TeamWorkBigInt& operator /= (int);friend  TeamWorkBigInt pow(TeamWorkBigInt a, int b);int getLength() const;explicit TeamWorkBigInt(int i);TeamWorkBigInt& operator+=(const TeamWorkBigInt& a);friend std::ostream& operator<<(std::ostream&, const TeamWorkBigInt&);};TeamWorkBigInt::TeamWorkBigInt(long value)
{for (short& i : integer)i = 0;int i = 0;while (value != 0){integer[i] = value % 10;value /= 10;i++;}
}std::ostream& operator<<(std::ostream& os, const TeamWorkBigInt& bigInt) {int length = bigInt.getLength();for (int i = length - 1; i >= 0; --i) {os << bigInt.integer[i];}return os;
}int TeamWorkBigInt::getLength() const {int length = 0;// 从最高位开始向低位检查,找出有效的数值位  for (int i = digits - 1; i >= 0; --i) {if (integer[i] != 0) {length = i + 1; // 有效位数为最后一个非零位的索引 + 1  break;}}return length; // 返回有效位数  
}TeamWorkBigInt operator+(const TeamWorkBigInt& op2, const TeamWorkBigInt& op3)
{if (op2.sign == -1 && op3.sign == -1 || op2.sign == 1 && op3.sign == 1){TeamWorkBigInt temp;int carry = 0;for (int i = 0; i < TeamWorkBigInt::digits; i++){temp.integer[i] = op2.integer[i] + op3.integer[i] + carry;if (temp.integer[i] > 9){temp.integer[i] -= 10;carry = 1;}elsecarry = 0;}return temp;}else if (op2 > op3){TeamWorkBigInt temp;int carry = 0;for (int i = 0; i < TeamWorkBigInt::digits; i++){temp.integer[i] = op2.integer[i] - op3.integer[i] - carry;if (temp.integer[i] < 0){temp.integer[i] += 10;carry = 1;}elsecarry = 0;}temp.sign = op2.sign;return temp;}else{TeamWorkBigInt temp;int carry = 0;for (int i = 0; i < TeamWorkBigInt::digits; i++){temp.integer[i] = op3.integer[i] - op2.integer[i] - carry;if (temp.integer[i] < 0){temp.integer[i] += 10;carry = 1;}elsecarry = 0;}temp.sign = op3.sign;return temp;}}TeamWorkBigInt TeamWorkBigInt::operator+(int op2) const
{TeamWorkBigInt temp;int carry = 0;for (int i = 0; i < digits; i++){temp.integer[i] = integer[i] + op2 % 10 + carry;op2 /= 10;if (temp.integer[i] > 9){temp.integer[i] -= 10;carry = 1;}elsecarry = 0;}return temp;
}TeamWorkBigInt TeamWorkBigInt::operator-(const TeamWorkBigInt& op2) const
{TeamWorkBigInt temp;int carry = 0;for (int i = 0; i < digits; i++){temp.integer[i] = integer[i] - op2.integer[i] - carry;if (temp.integer[i] < 0){temp.integer[i] += 10;carry = 1;}elsecarry = 0;}return temp;
}int TeamWorkBigInt::operator>(const TeamWorkBigInt& op2) const
{int i = digits - 1;while (integer[i] == op2.integer[i] && i >= 0)i--;if (i == -1)return 0;else if (integer[i] > op2.integer[i])return 1;elsereturn 0;
}int TeamWorkBigInt::operator>=(const TeamWorkBigInt& op2) const
{int i = digits - 1;while (integer[i] == op2.integer[i] && i >= 0)i--;if (i == -1)return 1;else if (integer[i] > op2.integer[i])return 1;elsereturn 0;
}int TeamWorkBigInt::operator==(const TeamWorkBigInt& op2) const
{int i = digits - 1;while (integer[i] == op2.integer[i] && i >= 0)i--;if (i == -1)return 1;elsereturn 0;
}TeamWorkBigInt TeamWorkBigInt::operator*(const TeamWorkBigInt& op2) const {TeamWorkBigInt temp;int carry = 0;for (int i = 0; i <= this->getLength(); i++) {for (int j = 0; j <= op2.getLength(); j++) {if (i + j < digits) {temp.integer[i + j] += integer[i] * op2.integer[j] + carry;carry = temp.integer[i + j] / 10;temp.integer[i + j] %= 10;}}}return temp;
}TeamWorkBigInt TeamWorkBigInt::operator/(int  op2) {TeamWorkBigInt temp = *this;if (op2 < 0) {op2 = -op2;temp.sign = temp.sign * -1;}int temptemp;int carry = 0;for (int i = getLength() - 1; i >= 0; i--) {temptemp = temp.integer[i] + carry * 10;temp.integer[i] = temptemp / op2;carry = temptemp % op2;}return temp;}TeamWorkBigInt& TeamWorkBigInt::operator=(const int b) {for (short& j : integer) {j = 0;}int a = b;int k = 0;while (a != 0) {integer[k] = a % 10;a /= 10;k++;}return *this;
}TeamWorkBigInt::TeamWorkBigInt(int i) {for (short& j : integer) {j = 0;}int k = 0;while (i != 0) {integer[k] = i % 10;i /= 10;k++;}}TeamWorkBigInt& TeamWorkBigInt::operator+=(const TeamWorkBigInt& a) {if (a.sign == -1) {TeamWorkBigInt b = a;b.sign = 1;*this = *this - b;return *this;}int carry = 0;for (int i = 0; i < digits; i++) {integer[i] += a.integer[i] + carry;if (integer[i] >= 10) {integer[i] -= 10;carry = 1;}else {carry = 0;}}return *this;
}TeamWorkBigInt& TeamWorkBigInt::operator/=(const int b) {int carry = 0;int a = -b;int temp;for (int i = getLength() - 1; i >= 0; i--) {temp = integer[i];integer[i] = (integer[i] + carry * 10) / a;carry = (temp + carry * 10) % a;}sign *= -1;return *this;
}TeamWorkBigInt TeamWorkBigInt::operator/(const TeamWorkBigInt& a) {TeamWorkBigInt temp = *this;int num = a.getLength() - 1;for (int i = 0; i < getLength(); i++) {temp.integer[i] = integer[i + num];}for (int i = getLength(); i < digits; i++)temp.integer[i] = 0;return temp;
}TeamWorkBigInt TeamWorkBigInt::operator*(int a) const {TeamWorkBigInt temp;int carry = 0;for (int i = 0; i <= this->getLength(); i++) {temp.integer[i] += integer[i] * a + carry;carry = temp.integer[i] / 10;temp.integer[i] %= 10;}return temp;
}TeamWorkBigInt pow(TeamWorkBigInt a, int b) {TeamWorkBigInt temp;temp.integer[b] = 1;return temp;
}int main()
{int i, N;TeamWorkBigInt  n = 10, b, x1, x2, s, t, pi;std::cin >> N;N--;b = pow(n, N + 10);x1 = b * 4 / 5;x2 = b / -239;s = x1 + x2;for (i = 3; i <= N * 2; i += 2){x1 /= -25;x2 /= -57121;t = (x1 + x2) / i;s += t;}pi = s * 4;std::cout << (pi / pow(n, 10)) << std::endl;return 0;
}

文章转载自:

http://Lw4z75I0.chkfp.cn
http://e9jD6hFS.chkfp.cn
http://3n6BYonm.chkfp.cn
http://7SUMd4xn.chkfp.cn
http://kRSg5fcz.chkfp.cn
http://AHQ6Wy98.chkfp.cn
http://NoJNidVc.chkfp.cn
http://zF7aoonw.chkfp.cn
http://2C3PMiXg.chkfp.cn
http://i97irn3j.chkfp.cn
http://RLnRweIQ.chkfp.cn
http://pgDKto7P.chkfp.cn
http://g7kvzWXE.chkfp.cn
http://hGjQpHam.chkfp.cn
http://rlUlKDAS.chkfp.cn
http://T8SgjdXY.chkfp.cn
http://DRiWrZFd.chkfp.cn
http://GBHQ9G9O.chkfp.cn
http://Jt8hI4Z4.chkfp.cn
http://JCUMxik7.chkfp.cn
http://M3hEZRYL.chkfp.cn
http://V5CcO1al.chkfp.cn
http://z4FcIgt2.chkfp.cn
http://ciaZ0gRV.chkfp.cn
http://nXUvlZZz.chkfp.cn
http://spVONKIT.chkfp.cn
http://uk6xFh8C.chkfp.cn
http://fNqWOKwd.chkfp.cn
http://TuWq3mmL.chkfp.cn
http://qWrXndzj.chkfp.cn
http://www.dtcms.com/wzjs/681047.html

相关文章:

  • 域名注册好了怎么样做网站平台网站模板
  • 找个可以直接看的网站wordpress主题网站
  • 微信投票网站开发安徽网站建设
  • 销售类网站开发架构手机网站开放
  • 对外贸营销型网站建设的几点建议哪里建设网站
  • 中企动力做网站的优势绍兴商城网站开发设计
  • 北京网站优化经理网站建设入账时进那个会计科目
  • 在线网页游戏网站自助旅游网站开发分析报告
  • 如何在vs做网站沧州微酷网络科技有限公司
  • 福建交科建设有限公司官方网站织梦后台如何做网站地图
  • 阿里巴巴有没有帮做网站的公司成都赢星高考培训学校
  • 医美三方网站怎么做百度大数据中心
  • 温州百度推广排名seo关键词排名优化教程
  • 毕设做网站难吗android安装教程
  • 中山中小企业网站制作深圳seo优化信
  • 河北省建设安全监督站的网站网站字体加载不出来怎么办
  • 温州做网站建设公司哪家好郑州证件制作
  • 自己做免费网站昆山哪里有做网站的
  • 做影片的网站描述wordpress文章自动获取标签
  • 网站建设公司架构宝塔linux面板官网
  • 惠州建站公司网页设计作业欣赏
  • 公司网站建设 公司简介怎么写淘宝网站建设基本流程
  • 手机网站开发成为小程序北京住房和城乡建设厅网站
  • 功能性的网站设计制作做网站合肥
  • 足球比分网站建设网站明链怎么做
  • 民治网站建设公司二手网站需求建设分析
  • 做网站需要什么特色运营方案怎么做
  • 企业门户网站建设报价做网站与运营一般多少钱
  • 阿里云大淘客网站建设微网站app
  • 东莞营销型网站哪家好高端定制网站设计