POJ 1503 Integer Inquiry(高精度运算)
2010-03-17 00:50
260 查看
//简单高精度运算 #include<iostream> using namespace std; struct BigInt//结构体 { char data[110];//字符串数据 int num[110];//整型数据 int len;//位数长度 void print()//打印函数 { if(num[len] != 0) cout << num[len];//注意长度,得提前判断进位的情况 for(int i = len-1;i >= 0;--i) cout << num[i]; } }; void reverse(BigInt &a)//将数位反转 { a.len = strlen(a.data); for(int i = 0;i < a.len;++i) a.num[a.len-1-i] = a.data[i] - '0';//最简易做法 } void plus(BigInt &a,BigInt &b) { int length = max(a.len,b.len); for(int i = 0;i < length;++i) { a.num[i+1] += (a.num[i] + b.num[i])/10;//进位 a.num[i] = (a.num[i] + b.num[i])%10; } } int main() { BigInt a,b; memset(a.num,0,sizeof(a.num)); memset(b.num,0,sizeof(b.num)); cin >> a.data; reverse(a); while(cin >> b.data) { if(strlen(b.data) == 1 && b.data[0] == '0')break; reverse(b); plus(a,b); } a.print(); cout << endl; return 0; }
相关文章推荐
- (高精度运算4.7.23)POJ 1503 Integer Inquiry(大数累加)
- poj 1503 Integer Inquiry【高精度】
- POJ 1503 Integer Inquiry(高精度)
- POJ 1503 Integer Inquiry 高精度加法
- POJ 1503 Integer Inquiry(高精度整数)
- POJ 1503 && HDU 1047 Integer Inquiry(高精度)
- poj 1503 Integer Inquiry高精度
- POJ 1503 Integer Inquiry 大数 难度:0
- poj 1503 Integer Inquiry(多个大数相加)
- POJ 1503 Integer Inquiry
- POJ 1503 Integer Inquiry
- POJ-1503 Integer Inquiry-多个大数相加
- POJ 刷题系列:1503 Integer Inquiry
- 【原】 POJ 1503 Integer Inquiry 大整数加法 解题报告
- POJ 1503 Integer Inquiry 简单大数相加
- POJ 1503 Integer Inquiry(大数相加)
- poj 1503 Integer Inquiry lightbluem
- POJ 1503 Integer Inquiry(大数加…
- POJ 1503 Integer Inquiry 【大数加法】
- POJ 1503 Integer Inquiry