题解 P1601 【A+B Problem(高精)】
P1601 A+B Problem(高精)
题目描述
高精度加法,x相当于a+b problem,b不用考虑负数。
输入输出格式
输入格式:
分两行输入a,b<=10^500
输出格式:
输出只有一行,代表A+B的值
输入输出样例
1
1
2
比较简单的高精度。
高精度。顾名思义,就是在很大的位数情况下进行运算。(炸int)
其基本思想就是用数组进行模拟加法。
模拟近位。
最后遍历数组输出。
附代码:
#include <cstdio>
#include <iostream>
using namespace std; struct diff{
int len;short x[]; void read(){
int len_read;
string read;
cin>>read;
len=;len_read=read.size();
for(int i=len_read-;i>=;i--)x[++len]=read[i]-;
} void write(){
for(int i=len;i>=;i--)printf("%d",x[i]);
printf("\n");
return ;
} struct diff operator+(struct diff tmp){
int c=;
struct diff ans;
ans.len=tmp.len;if(len>ans.len)ans.len=len;
for(int i=;i<=ans.len;i++)
{
ans.x[i]=x[i]+tmp.x[i]+c;
c=ans.x[i]/;ans.x[i]%=;
}
if(c>)ans.x[++ans.len]=c;
return ans;
}
}a,b; int main(){
a.read();b.read();a=a+b;a.write();
return ;
}
我们每个人都应该做到精益求精,所以还可以将普通高精度升华一下
那就是传说中的万进制高精度:
#include <iostream>
#include <cstdio>
using namespace std;
string s1,s2;
int c,len,len1,a[],len2,b[]; void turn()
{
int x,y,lx=s1.size(),ly=s2.size(),l,r;
int c[],d[];
l=lx/;r=ly/;
x=lx-l*;y=ly-r*;
for(int i=;i<x;i++)c[]=c[]*+s1[i]-;
for(int i=;i<y;i++)d[]=d[]*+s2[i]-;
for(int i=;i<=l+;i++)c[i-(x==)]=(s1[*(i-)+x]-)*+(s1[*(i-)+x+]-)*+(s1[*(i-)+x+]-)*+(s1[*(i-)+x+]-);
for(int i=;i<=r+;i++)d[i-(y==)]=(s2[*(i-)+y]-)*+(s2[*(i-)+y+]-)*+(s2[*(i-)+y+]-)*+(s2[*(i-)+y+]-);
len1=l+(x>);len2=r+(y>);
for(int i=;i<=len1;i++)a[i]=c[len1-i+];
for(int i=;i<=len2;i++)b[i]=d[len2-i+]; } int main()
{
cin>>s1>>s2;
turn();
len=len1;if(len2>len)len=len2;
for(int i=;i<=len;i++)
{
a[i]=a[i]+b[i]+c;
c=a[i]/;
a[i]%=;
}
if(c>)a[++len]=c;
printf("%d",a[len]);
for(int i=len-;i>=;i--)printf("%04d",a[i]);
return ;/*万进制高精加*/
}
万进制高精加要注意输出“printf("%04d",a[i]);”
点个赞吧↓
题解 P1601 【A+B Problem(高精)】的更多相关文章
- [CEOI2007]树的匹配Treasury(树形DP+高精)
题意 给一棵树,你可以匹配有边相连的两个点,问你这棵树的最大匹配时多少,并且计算出有多少种最大匹配. N≤1000,其中40%的数据答案不超过 108 题解 显然的树形DP+高精. 这题是作为考试题考 ...
- 洛谷 P1601 A+B Problem(高精)
P1601 A+B Problem(高精) 题目背景 无 题目描述 高精度加法,x相当于a+b problem,[b][color=red]不用考虑负数[/color][/b] 输入输出格式 输入格式 ...
- 【洛谷P1601 A+B Problem(高精)】
题目背景 无 题目描述 高精度加法,x相当于a+b problem,[b][color=red]不用考虑负数[/color][/b] 输入输出格式 输入格式: 分两行输入a,b<=10^500 ...
- 【洛谷p1601】A+B Problem(高精)
高精度加法的思路还是很简单容易理解的 A+B Problem(高精)[传送门] 洛谷算法标签: 附上代码(最近懒得一批) #include<iostream> #include<cs ...
- 洛谷1601 A+B Problem(高精) 解题报告
洛谷1601 A+B Problem(高精) 本题地址:http://www.luogu.org/problem/show?pid=1601 题目背景 无 题目描述 高精度加法,x相当于a+b pro ...
- 【题解】洛谷P2532 [AHOI2012]树屋阶梯(卡特兰数+高精)
洛谷P2532:https://www.luogu.org/problemnew/show/P2532 思路 来自Sooke大佬的推导: https://www.luogu.org/blog/Sook ...
- 【题解】洛谷P1066 [NOIP2006TG] 2^k进制数(复杂高精+组合推导)
洛谷P1066:https://www.luogu.org/problemnew/show/P1066 思路 挺难的一道题 也很复杂 满足题目要求的种数是两类组合数之和 r的最多位数m为 w/k(当w ...
- [bzoj2729][HNOI2012]排队 题解 (排列组合 高精)
Description 某中学有 n 名男同学,m 名女同学和两名老师要排队参加体检.他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不 ...
- BZOJ_1002_[FJOI2007]_轮状病毒_(递推+高精)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1002 )*&*(^&*^&*^**()*) 1002: [FJOI20 ...
随机推荐
- Spring Boot使用AOP在控制台打印请求、响应信息
AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等. AOP简介 AOP全称Aspect Oriented Programming,面向切面,AOP主要实现的 ...
- Android安全——加固原理
一.前言 今天来介绍一下Android中的如何对Apk进行加固的原理.现阶段.我们知道Android中的反编译工作越来越让人操作熟练,我们辛苦的开发出一个apk,结果被人反编译了,那心情真心不舒服.虽 ...
- 【代码笔记】Web-CSS-CSS 语法
一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- 大湾区联动:广州深圳助力东莞.NET俱乐部首次线下活动
新年伊始,经过一个寒冬考验后的.NET社区热情不减,长沙.南京.合肥.东莞先后建立以微信为主要平台的线上.NET社区.并相继开始筹划和组织各地区的首次线下活动.东莞作为粤港澳大湾区的腹地,制造业基地, ...
- ADB和Fastboot最新版的谷歌官方下载链接
ADB和Fastboot for Windows https://dl.google.com/android/repository/platform-tools-latest-windows.zip ...
- whistle
whistle介绍 whistle是基于Node的跨平台web调试代理工具, 主要查看, 修改HTTP, HTTPS, Websocket的请求,响应, 也可以作为HTTP代理服务器使用 (文档)[h ...
- C++客户端访问WebService VS2008
VS2008及之后的版本已经不支持使用C++开发WEBService服务了,如果要在VS上开发WEBService,需要使用C#开发语言. 一.gSOAP简介 gSOAP编译工具提供了一个基于SOAP ...
- CSS盒子模型(Box Model)
一.背景 作为CSS的重点,三大模块之一的盒子模型,这部分无论如何也要精通透彻.在任何一个网页当中,都有自己的布局方式,所谓网页布局方式就是如何把网页里面的文字.图片,很好的排版成美工设计的样式,这时 ...
- lcd参数解释及刷新率计算,LCD时序
一.LCD显示图像的过程如下: 其中,VSYNC和HSYNC是有宽度的,加上后如下: 参数解释: HBP(Horizontal Back Porch)水平后沿:在每行或每列的象素数据开始输出时要插入的 ...
- iOS开发之OC与swift开发混编教程,代理的相互调用,block的实现。OC调用Swift中的代理, OC调用Swift中的Block 闭包
本文章将从两个方向分别介绍 OC 与 swift 混编 1. 第一个方向从 swift工程 中引入 oc类 1. 1 如何在swift的类中使用oc类 1.2 如何在swift中实现oc的代理 ...