博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
华为机试题:超长正整数相加
阅读量:6999 次
发布时间:2019-06-27

本文共 1491 字,大约阅读时间需要 4 分钟。

描述:  

题目描述:请设计一个算法完成两个超长正整数的加法。  
要求实现函数: 
void AddLongInteger(char * pcAddend, char * pcAugend, char * pcAddResult); 
输入参数: 
char * pcAddend:加数 
char * pcAugend:被加数 
char * pcAddResult:加法结果 
返回值:无 
运行时间限制: 1 Sec 
内存限制: 128 MByte 
输入:  
两个超长正整数的字符串 
输出:  
相加后结果的字符串 
样例输入: 
123456789123456789 123456789123456789 
样例输出: 
246913578246913578

 

测试不通过,发出来看看问题在哪里。

////  超长正整数相加.cpp//  temptest////  Created by 彭威 on 15/8/1.//  Copyright © 2015年 biophy.nju.edu.cn. All rights reserved.//#include 
#include
#include
using namespace std;class BigNumber { string num; bool reverse_flg; public: BigNumber(char *str):num(str){} BigNumber(){}; friend istream& operator>>(istream& in,BigNumber& p){ in>>p.num; return in; } friend ostream& operator<<(ostream& out,const BigNumber& p){ if (p.reverse_flg) { //for (auto iter = p.num.rbegin(); iter != p.num.rend(); iter++) { //only for c++11 for (string::const_iterator iter = p.num.end()-1;iter >= p.num.begin();--iter ){ out<<*iter; } }else{ out<
= num.length()) { return '0'; } if (reverse_flg) { return num[n]; }else{ return num[num.length()-n-1]; } }};int main(int argc,const char* argv[]){ BigNumber a,b; cin>>a>>b; cout<
<

 

转载于:https://www.cnblogs.com/weierpeng/p/4695493.html

你可能感兴趣的文章