大数类
来源:互联网 发布:中国历届人口普查数据 编辑:程序博客网 时间:2024/05/17 01:41
大数
C++中没有大数类,自己实现了一个。
代码
#include <iostream>#include <algorithm>#include <cstdio>#include <cmath>#include <map>#include <cstring>using namespace std;struct bigInteger{ int digit[1000]; //按照4位数一个单元来保存数值 int size; //下一位即将使用的数组单元 //初始化 void init(){ size = 0; for (int i = 0; i < 1000; ++i) { digit[i]=0; } } //从字符串中获取整数 void set(char str[]){ init(); int L = strlen(str); int temp = 0; int c = 1; int j=0; for (int i = L-1; i >=0 ; --i) { temp += (str[i]-'0')*c; j++; c*=10; if (j==4||i==0){ digit[size++] = temp; temp=0; j = 0; c = 1; } } } void output(){ for (int i = size-1; i >=0 ; --i) { if (i==size-1) printf("%d",digit[i]); else printf("%04d",digit[i]); } printf("\n"); } bigInteger operator+(const bigInteger &A) const { bigInteger ret; ret.init(); int carry = 0 ; for (int i = 0; i <size||i<A.size ; ++i) { int temp = digit[i]+A.digit[i]+carry; ret.digit[ret.size++] = temp%10000; carry = temp/10000; } if (carry!=0) ret.digit[ret.size++] = carry; return ret; }}a,b,c;char str1[1002],str2[1002];int main(){ while (scanf("%s%s",str1,str2)){ a.set(str1); b.set(str2); c = a+b; c.output(); } return 0;}
0 0
- 大数相乘 大数类
- 大数类
- 大数类
- 大数类
- 大数类
- 大数类
- 大数类
- 大数类
- 大数类
- 大数类
- c++ 大数类 大数模板
- C++ 大数类 大数模板
- c++ 大数类 大数模板
- c++ 大数类 大数模板
- c++ 大数类 大数模板
- C++大数类 大数模版
- 大数运算和大数类
- C++ 大数类 大数模板
- 524. Longest Word in Dictionary through Deleting
- label:for属性和form属性
- 【深度学习 论文综述】深度神经网络全面概述:从基本概念到实际模型和硬件基础
- Swing的布局管理器
- android开发
- 大数类
- 蓝桥杯算法训练 k好数
- leetcode:31. Next Permutation 下一个排列
- iOS-缓存机制的理解与实现
- Caffe实战:LeNet模型训练测试MNIST数据集
- Java程序内存的简单分析
- HDU2503 a/b + c/d
- 比酒量,蓝桥杯2012年第3题
- react-bits:无状态函数组件