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 ...
随机推荐
- 设计模式之二十四:訪问者模式(Visitor)
訪问者模式: 定义了一个作用于一个类的一些操作,訪问者模式同意在不改变类的前提下添加一些操作. Represent an operation to be performed on the elemen ...
- css笔记:如何让一个div居于页面正中间
如何让一个div居于页面中间,我今天说的是让一个div水平居中同时垂直居中,而不是简单的top:50%,left:50%.当然,我们就按一开始的思路写一下:top,left属性都设为50%,看一下效果 ...
- oracle中查找执行效率低下的SQL
v$sqltext:存储的是完整的SQL,SQL被分割 v$sqlarea:存储的SQL 和一些相关的信息,比如累计的执行次数,逻辑读,物理读等统计信息(统计) v$sql:内存共享SQL区域中已经解 ...
- Lua中强大的元方法__index详解
今天要来介绍比较好玩的内容:__index元方法 我是备胎,记得回头看看 咳咳,相信每一位女生都拥有或者不知不觉中拥有了一些备胎,啊!当然,又或许是成为过别人的备胎. 没有备胎的人,就不是完整的人生. ...
- C++中将int转变成string和string转变成int
int to string #include<iostream> #include<string> using namespace std; int main() { stri ...
- Android Intent实现页面跳转
Intent可以来协助完成Android各个组件之间的通信 1:startActivity(intent); //直接启动 /* ...
- firefox 自写扩展改版,总结
自己写的扩展,油猴功能,进一步改进,增加了许多操作.原来只是在13以下版本下面能用,主要是在13版本下面chrome代码和page下面代码能够直接互调,13版本以后就不可以了,最近考虑到新版Firef ...
- WordPress下载安装简单配置实例
1.下载https://cn.wordpress.org/ 2.复制wp-config-sample.php为wp-config.php 3.创建一个wordpress数据库 4.修改wp-confi ...
- Python调用C/C++的种种方法
Python调用C/C++的种种方法 2010-12-07 09:59 28433人阅读 评论(1) 收藏 Python是解释性语言, 底层就是用c实现的, 所以用python调用C是很容易的, 下面 ...
- 改进的延时函数Delay(使用MsgWaitForMultipleObjects等待消息或超时的到来)
解决上一节中延时函数占CPU使用率(达50%)的第二种方法是利用消息机制,通过API函数MsgWaitForMultipleObjects等待消息或超时的到来,从而避免使用循环检测使CPU占用率过高. ...