UVa 424 整数查询 poj 1503
来源:互联网 发布:网络出版物 编辑:程序博客网 时间:2024/05/16 10:52
思路:就是按照白书上的定义结构体bign及相关操作。本来打算精简的,后来发现这个已经挺精简的了。
注意(自己需要注意的):string.h和string头文件是不一样的。sprintf.h在stdio.h里而不是string.h里。(交代码时出现的红色波浪线好像是浏览器的原因,不影响交题。。)还有,while(cin>>x)是间接地检查了流的状态。。吐槽的地方,这个题最后要输出换行,题目没说
Code:
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<string> #define MAXN 200//string.h与string不同,包含memset、strlen等函数,stdio.h包含sprintf using namespace std;struct bign{ int len,s[MAXN]; bign(){ memset(s,0,sizeof(s)); len=1;} bign operator=(const char* num) { len=strlen(num); for(int i=0;i<len;++i) s[i]=num[len-1-i]-'0';//注意把字符数字转化为数字数字的方法,减去字符0, return *this; } bign operator=(int num) { char s[MAXN]; sprintf(s,"%d",num); *this=s; return *this; } bign(int num){ *this=num;} bign(const char* num){ *this=num;} string str() const {//用于输出 string res=""; for(int i=0;i<len;++i) res=(char)(s[i]+'0')+res;//输出时最高位在前,注意加数的顺序 if(res=="") res="\0"; return res; } bign operator+(const bign &b) const { bign c; c.len=0; for(int i=0,g=0;i<max(len,b.len)||g;++i) { int x=g; if(i<len) x=x+s[i]; if(i<b.len) x=x+b.s[i]; c.s[c.len++]=x%10; g=x/10; }//for return c; }};//structistream& operator>>(istream &in, bign &x){ string s; in>>s; x=s.c_str(); return in; }ostream& operator<<(ostream &out, bign &x){ cout<<x.str(); return out; }bign num;bign sum;int main(){ while(cin>>num&&num.str()!="0")//间接地检查流的状态; 当为0时结束输入 { sum=sum+num; } cout<<sum<<endl; //system("pause"); return 0;}
0 0
- UVa 424 整数查询 poj 1503
- UVa 424 整数查询
- UVa 424 Integer Inquiry(整数查询)
- UvaOJ 424 整数查询
- POJ-1503-大整数加法
- poj-1503 大整数运算
- UVa OJ 424大整数相加
- POJ 1503(高精度整数加法) 解题报告
- POJ 1503 大整数相加的问题
- poj 1503 大整数高精度 加法
- uva 424(Integer Inquiry)高精度大整数加法
- UVA424-整数查询
- poj 3292 整数问题
- UVa 113 / POJ 2109 Power of Cryptography (使用double处理大整数&泰勒公式与误差分析)
- Uva - 10106 - 大整数相乘
- ()POJ 1503 大整数加分 超时了
- POJ 1503 Integer Inquiry 美丽的大整数相加 + 测试数据
- SQL查询中,格式化整数
- TI-Davinci开发系列之八x-loader工作流程分析
- 2.插入排序——折半插入排序
- [: 11: y: unexpected operator问题
- 问题 A : 人生三大幻觉(组合数学)
- 链表指针
- UVa 424 整数查询 poj 1503
- MATLAB与excel数据交互——读取excel
- HBase集群配置之Zookeeper安装配置
- 性能测试之概念
- [Android官方API阅读]___<System Permissions>
- Java中Enum类下的values()方法的由来
- bombing:5证书认证系统设计与实现-实现下
- machine learning(6)-- 常用牛人主页链接(计算机视觉、模式识别、机器学习相关方向,陆续更新。。。。)
- 工厂模式