uva424 高精度计算
题意是计算各长整数的和,最多输入100个数,每个数都是正整数且位数不超过100.
很明显100位的数用数组存会方便许多,然后设置两个整型数组,一个存进位,一个存结果。为了对齐进行运算,我将所有的数先逆序调整,即低位在前高位在后,这样运算就能保证对齐运算了。总体来说难度很小,需要细心,争取一次AC!
#include<iostream>
#include<cstring>
using namespace std;
char input[101][101];
int convert(int size)
{
int maxn=0;
for (int i=0;i<size;i++)
{
int len=strlen(input[i]);
if (len>maxn) maxn=len;
for (int j=0;j<len/2;j++)
{
char tmp=input[i][j];
input[i][j]=input[i][len-1-j];
input[i][len-1-j]=tmp;
}
}
return maxn;
}
int main()
{
int line=0;
while(cin>>input[line]&&input[line][0]!='0')
{
line++;
}
int carry[102]={0};
int maxsize=convert(line);
int result[105];
for (int i=0;i<maxsize;i++)
{
int sum=0;
for (int j=0;j<line;j++)
{
if (input[j][i]=='\0') input[j][i]='0';
sum=sum+int(input[j][i]-'0');
}
sum=sum+carry[i];
result[i]=sum%10;
carry[i+1]=sum/10;
}
result[maxsize]=carry[maxsize]; for (int j=0;j<(maxsize+1)/2;j++)
{
int tmp=result[j];
result[j]=result[maxsize-j];
result[maxsize-j]=tmp;
}
for (int i=0;i<=maxsize;i++)
{
if (i==0&&result[i]==0) continue;
cout<<result[i];
}
cout<<endl;
return 0;
}
uva424 高精度计算的更多相关文章
- php-浮点数计算,double类型数加减乘除必须用PHP提供的高精度计算函数
一.前方有坑 php在使用加减乘除等运算符计算浮点数的时候,经常会出现意想不到的结果,特别是关于财务数据方面的计算,给不少工程师惹了很多的麻烦.比如今天工作终于到的一个案例: $a = 2586; $ ...
- 使用高精度计算斐波那契数列 c++
使用高精度计算斐波那契数列 非高精度 Code(Non-high accuracy) 这是不用高精度的代码 #include<bits/stdc++.h> using namespace ...
- 1169A+B问题终结版(高精度计算)
描述 给定两个整数A和B,输出A+B的值.A和B的值可能会很大很大,甚至达到100位.现在请你解决这一问题. 输入 两行,分别是两个整数A,B,换行隔开.A和B会很大很大. 输出 一个整数,即A+B的 ...
- C++高精度计算代码运行时间(转载)
转载:http://blog.csdn.net/rrrfff/article/details/6583410 //在定时前应该先调用QueryPerformanceFrequency()函数获得机器内 ...
- 高精度计算的类(BigInteger和BigDecimal)
这两个类 在Java中没有对应的基本类型.不过,这两个类包含的方法,提供的操作与对基本类型所能执行的操作差不多. 也就是说,能对基本类型 int float 等的操作,也同样能作用于这两个类,只不过必 ...
- HDU 1042 N!(高精度计算阶乘)
N! Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
- BigDecimal 高精度计算 熟悉扩展,java除法保留小数问题
java保留两位小数问题: 方式一: 四舍五入 double f = 111231.5585; BigDecimal b = new BigDecimal(f); d ...
- 信息学奥赛一本通算法(C++版)基础算法:高精度计算
高精度加法(大位相加) #include <bits/stdc++.h> using namespace std; int main() { ],b1[]; ],b[],c[];//a,b ...
- UVA424高精度加法
One of the first users of BIT's new supercomputer was Chip Diller. He extended his exploration of po ...
随机推荐
- JFinal开发web项目出现故障小记
导读 作为中国优秀的开源项目之中的一个JFinal有着极速开发的优点,是中小型应用开发的首选.在导师的建议下.我使用了JFinal来开发一个Java服务端应用,官方教程非常easy.就几十页(当然是中 ...
- Android平台音频信号FFT的实现
转载请标明出处:http://blog.csdn.net/sctu_vroy/article/details/45871823 功能:加载本地SD卡中moveDsp文件夹中的音频文件(包括录音获取文件 ...
- java日期处理 calendar 和date
抄的人家的,仅作学习使用. java Date获取 年月日时分秒 package com.util; import java.text.DateFormat; import java.ut ...
- bootstrap注意事项(三)
1.<code> 标签用于表示计算机源代码或者其他机器可以阅读的文本内容.软件代码的编写者已经习惯了编写源代码时文本表示的特殊样式.<code> 标签就是为他们设计的.包含在该 ...
- 使用关联对象(AssociatedObject)为UIButton添加Block响应
在开发中,要给UIButton添加点击事件的话,通常的做法是这样的 UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem]; [ ...
- Java web 基础
- eclipse中输入的中文为繁体的问题
今天在eclipse中编写注释的时候发现,输入的中文都为繁体,且只在eclipse编辑器中为繁体,切换到网页中则为正常. 最后发现,竟然是输入法的shift+ctrl+F快捷键和eclipse的冲突. ...
- 用CodeBlocks构建C项目时候出现的问题
后缀名为depend的文件 是makefile 编译产生的文件 是生成一种依赖关系 帮助程序编译的 那为什么有时候会生成而有时候又不会呢? 看你makefile 自己的编写 写了就有 没写就没 ...
- Struts2中ModelDriven的使用
它是Struts2种独有的一种接收用户输入的机制,想在项目中使用模型驱动 (ModelDriven)需要让Action实现com.opensymphony.xwork2.ModelDriven 接口, ...
- objective -c こだわり
You make an object by creating an instance of a particular class. You do this by allocating the obje ...