【A+B Problem IV 513 】

DeerFlow 系列教程 第十二篇 | Tools 工具体系——从内置工具到 MCP 扩展 文件此工具允许 Agent 在运行时创建新的自定义 Agent。@toolsoul: str, # SOUL.md 的完整内容description: str, # Agent 的一行描述创建流程从获取agent_name写入配置文件(包含 name 和 description)写入灵魂文件SOUL.md(定义 Agent 的人格和行为)更新中的错误回滚MCP(Model Context Protocol)是一种标准协议,允许 AI Agent 连接外部工具服务器。DeerFlow 通过。 阅读详情

A+B Problem IV

时间限制:1000 ms  |  内存限制:65535 KB
难度:3
描述
acmj最近发现在使用计算器计算高精度的大数加法时很不方便,于是他想着能不能写个程序把这个问题给解决了。
输入
包含多组测试数据
每组数据包含两个正数A,B(可能为小数且位数不大于400)
输出
每组输出数据占一行,输出A+B的结果,结果需要是最简的形式。
样例输入
1.9 0.1
0.1 0.9
1.23 2.1
3 4.0
样例输出
2
1
3.33
7

一道高精度加法的题目。

由于数据中可能既有小数又有整数,所以我把整数变成小数(后面加".0"),从而化为两个小数相加的问题。

找小数点的时候,先判断它是否有末尾0,把末尾0先消去(最少保留一个)。

然后把小数点对齐,按照A+B(二)的做法先把数组倒置,然后对应位相加。

#include<cstdio>
#include<cstring>
#define max(a,b) a>b?a:b
struct Num{
    int len,back;//len 为 字符串长度  back 为小数的位数
    char num[800];
}A,B;
void swap(char &a,char  &b){
    char t=a;
    a=b;
    b=t;
}
void Init(Num &a){  //  去除小数末尾的零,但至少有一位小数
    a.len=strlen(a.num);
    char *p=strchr(a.num,'.');
    if(p==NULL){        //如果是整数,补充小数点和一位小数
        a.num[a.len++]='.';
        a.num[a.len++]='0';
        a.back=1;
    }
    else{
        int point_loc=p-a.num;//记录小数点的位置,去除小数末尾的零
        for(int i=a.len-1;i>=point_loc+2;i--){
            if(a.num[i]!='0')
                break;
            a.len--;
        }
        a.back=a.len-1-point_loc;
    }

}
void Reverse(Num &a){
    for(int i=0;i<a.len-1-i;i++)
        swap(a.num[i],a.num[a.len-1-i]);
}
void add(Num &a,Num &b){
    Reverse(a);
    int sub=a.back-b.back;//小数位数的差值
    int max_len=max(b.len+sub,a.len);//两个数中最大的位数
    memset(a.num+a.len,'0',max_len-a.len+1);//反转高位补零。
    for(int i=sub;i<max_len;i++){//模拟每一位相加
        if(a.num[i]=='.')
            continue;
        int b_loc=b.len-1-(i-sub);
        if(b_loc>=0)
            a.num[i]+=b.num[b_loc]-'0';
        if(a.num[i]>'9'){
                a.num[i+1]=='.'?a.num[i+2]++ : a.num[i+1]++;
                a.num[i]-=10;
            }



    }
    int min_loc;//记录小数部分不为零的位置。
    for(min_loc=0;a.num[min_loc]=='0';min_loc++);
    max_len= a.num[max_len]=='0' ? max_len-1 : max_len;//如果最高位有进位 输出。
    min_loc=a.num[min_loc]=='.' ? min_loc+1 : min_loc;//如果小数为只有一个小数点,则不必要输出
    for(int i=max_len;i>=min_loc;i--)
        printf("%c",a.num[i]);
    printf("\n");
}
int main(){
    while(scanf("%s%s",A.num,B.num)!=EOF){
        Init(A);
        Init(B);
        A.back>B.back?add(A,B):add(B,A);

    }
}







CUDA编程 - Nsight system & Nsight compute 的安装和使用 - 学习记录 在 cuda 编程中,经常会用到 Nsight system 和 Nsight compute 进行性能分析等,下面做个学习总结。本篇包括安装和常用分析思路总结,具体实践操作总结会放在下一篇博客。 阅读详情

相关推荐

从CST到AD:高效PCB阵列设计与介质优化实战

本文详细解析了从CST电磁仿真软件到Altium Designer(AD)的PCB阵列设计全流程,重点解决毫米波天线等精密设计中模型导出、介质优化和阵列构建的核心难题。通过实战技巧,指导工程师高效处理DXF文件导入、复杂铜皮填充、空气介质实现等关键步骤,确保高精度设计从仿真到制造的顺利转换,提升工作效率与设计可靠性。

weixin_28256233的博客 439

NYOJ513,A+B Problem IV

A+B Problem IV 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述acmj最近发现在使用计算器计算高精度的大数加法时很不方便,于是他想着能不能写个程序把这个问题给解决了。 输入包含多组测试数据 每组数据包含两个正数A,B(可能为小数且位数不大于400) 输出每组输出数据占一行,输出A+B的结果,结果需要是最简的形式。

ieayoio 1104

lisflood-fp(一)从源码到可执行文件:Windows下的Cmake实战编译指南

本文详细介绍了在Windows环境下使用Cmake工具编译lisflood-fp水文模型源码生成可执行文件的全过程。从开发环境配置、源码获取到实战编译,逐步指导如何解决常见错误并处理运行时依赖,最终生成可用的exe文件。特别适合水文专业研究者和工程师学习参考。

weixin_30555125的博客 481

NYOJ513 A+B Problem IV

原题链接 和HDOJ1753一样的题。 #include <stdio.h> #include <string.h> #define MAX 400 + 10 char a0[MAX], b0[MAX], s[MAX], aa[MAX], bb[MAX], ss0[MAX]; //aa保存整数,a保存小数 int main(){ char ...

ao350322的博客 156

java实现自动发送微信QQ消息(可发图片)

自动发送微信/QQ/微博等消息 一:功能:实现发送QQ/微信/微博消息,程序控制。 效果演示(实现自动发生QQ微信消息给女友,发微博信息也可以就不演示了) 二:原理讲解:将剪贴板的内容给发送到QQ微信中去,复制粘贴发送。 模拟真实操作进行发送信息。 三:前期准备,软件安装,及初步测试。...

XURUNFA950827的博客 1万+

高动态范围结构光三维测量技术:从多曝光融合到深度学习的演进与应用

本文深入探讨了高动态范围结构光三维测量技术的演进与应用,从传统的多曝光融合技术到深度学习驱动的创新方案。通过工业案例展示了该技术在提升测量精度和效率方面的显著优势,特别是在处理高反光、复杂表面时的突破性表现。文章还提供了针对不同工业场景的技术选型指南,帮助工程师优化三维测量解决方案。

weixin_29063979的博客 293

NYOJ513-A+B Problem IV

A+B Problem IV 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 acmj最近发现在使用计算器计算高精度的大数加法时很不方便,于是他想着能不能写个程序把这个问题给解决了。 输入包含多组测试数据 每组数据包含两个正数A,B(可能为小数且位数不大于400)输出每组输出数据占一行,输出A+B的结果,结果需要是最简的形式。样例输入 1.

YCH1035235541的专栏 988

神州数码防火墙(DCN)NAT SSL-VPN配置

SSL-VPN是基于应用层的VPN,采用SSL协议来实现远程接入的一种新型VPN技术,比L2TP更加灵活的VPN方案。是天然的安全远程接入方案。用户可以通过浏览器的HTTPSs登录VPN的网址。SSL-VPN的认证方式包括LDAP,radius,CA,USB Key等方式。 SSL VPN的主要应用场景是保证远程用户能够在企业外部安全\高效的访问企业内部的网络资源

qq_50966485的博客 4558

NYOJ 513 A+B Problem IV

题目链接 算是一种偷懒,虽然自己学过java,但是长久不用并且学的也不好,便因为大数问题开始又开始学起java来,为什么是偷懒呢?因为发现大数问题用java真的好方便啊,C++近百行代码解决的问题,用java十几行就解决了,但是却需要对java语言足够的熟悉,还需要继续学习。。 贴的别人的代码,链接import java.math.*; import java.util.*;public cla

xj13821328013的博客 397

HOPE:基于强化学习的混合策略路径规划器,适用于多样化停车场景

本文提出了一种混合策略路径规划器(HOPE),用于解决自动停车中的路径规划问题。HOPE结合了强化学习(RL)和Reeds-Shepp(RS)曲线,通过动作掩码机制引导RL智能体的探索,并利用Transformer融合环境感知信息与掩码。该方法在多样且复杂的停车场景中实现了超过97%的成功率,并通过真实实验验证了其泛化能力。此外,本文还提出了基于空间与障碍物分布的停车场景难度分级标准,进一步提升了训练与评估的效率。实验结果表明,HOPE在规划成功率和跨场景泛化能力上均优于传统的基于规则算法和朴素强化学习方法

weixin_42783201的博客 1466

liquibase扩展支持达梦数据库

近期项目中需要支持国产数据库,需要liquibase底层支持达梦数据库,记录下操作的详细步骤以便分享。 1.liquibase支持的数据库很多如MySQL, PostgreSQL, Oracle, Sql Server, DB2。但是达梦数据库并不支持,所以需要新建DMDatabase类来适配达梦数据库。达梦语法和Oracle很像所以只需要复制liquibase-core下的Oracle Database做些修改就可了。以下为需要修改的地方 public class DMDatabase extends A

qq_43677719的博客 5472

nyoj513 A+B Problem IV

nyoj513 A+B Problem IV 这题思路很好想,但细节太多尤其是小数点的问题,处理不好就容易出错

anchorite 1233

【数字IC基础】DFT(Design For Test)可测性设计

【数字IC基础】DFT(Design For Test)可测性设计

努力,加油每一天鸭~ 3466

nyoj 513 A+B Problem IV 【Java大数】

这道题有点小坑。。 特殊数据 输入 0.0 0.0 输出 0 代码: import java.util.Scanner; import java.math.*; public class Main{ public static void main(String[] args){ Scanner cin = new Scanner(System.in); BigDecimal

shengweisong 1055

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

nyoj 513 A+B Problem IV

A+B Problem IV 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 acmj最近发现在使用计算器计算高精度的大数加法时很不方便,于是他想着能不能写个程序把这个问题给解决了。 输入 包含多组测试数据 每组数据包含两个正数A,B(可能为小数且位数不大于400) 输出 每组输出数据占一行,输出A+B的结果,结果需要是最简的

西北有高楼的专栏 601

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

《大数问题》— NYOJ 513 A+B Problem IV(java)

题目513 题目信息 运行结果 本题排行 讨论区 A+B Problem IV 时间限制:1000ms | 内存限制:65535KB 难度:3 描述 acmj最近发现在使用计算器计算高精度的大数加法时很不方便,于是他想着能不能写个程序把这个问题给解决了。 输入 包含多组测试数据 每组数据包含两个正数A,B(可能为小数且位数不大于400) 输出 每组输出数据占一行,输...

69小石头的博客 859

NYOJ NO.513 A+B Problem IV

#include #include #define N 1000 int findp(char *a,char *b) { if( strchr(a,'.')==0&&strchr(b,'.')==0) return 0; else if( strchr(a,'.')==0) return (strlen(b)-(strchr(b,'.')-b)); else if( strchr(

Kernight 931

NYOJ513 A+B Problem IV(带小数的大数加法)

A+B Problem IV 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 acmj最近发现在使用计算器计算高精度的大数加法时很不方便,于是他想着能不能写个程序把这个问题给解决了。 输入 包含多组测试数据 每组数据包含两个正数A,B(可能为小数且位数不大于400) 输出 每组输出数据占一行,输出A+B的结果,结果需要

逝水流年轻染尘 571

HDU 1753 大明A+B&&NYOJ 513 A+B Problem IV

大明A+B Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 11444    Accepted Submission(s): 4136 Problem Description 话说,经过了漫长的一个多月,小明已经成

disparity_CJK的博客 454

hdu1753 大明A+B && nyoj 513 A+B Problem IV

高精度问题,我改的自己写的那个高精度模版,c++来写高精度就是麻烦,还要考虑一大堆特殊情况。 我用的一些个测试数据: 000   00 0 00001.1000   2.9 4 00001.1110   3.333000 4.444 99.2   0.8 100 主要的特殊情况就是前导0和后导0,以及全部都是0的情况。 我的思路就是: 以009.200和00.8 为

GinSmile的博客 1706

nyoj_513_A+B Problem IV_20130131532

A+B Problem IV 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述acmj最近发现在使用计算器计算高精度的大数加法时很不方便,于是他想着能不能写个程序把这个问题给解决了。 输入包含多组测试数据 每组数据包含两个正数A,B(可能为小数且位数不大于400)输出每组输出数据占一行,输出A+B的结果,结果需要是最简的形式。样例输...

weixin_30302609的博客 112

nyoj 513-A+B Problem IV (java BigDecimal, stripTrailingZeros, toPlainString)

513-A+B Problem IV 内存限制:64MB 时间限制:1000ms 特判: No 通过数:1 提交数:2 难度:3 ...

GetcharZp的博客 89

NYOJ 513 & HDU 1753 A+B Problem IV(模拟)

题目链接:Click here~~ 一道高精度加法的题目。 由于数据中可能既有小数又有整数,所以我把整数变成小数(后面加".0"),从而化为两个小数相加的问题。 找小数点的时候,先判断它是否有末尾0,把末尾0先消去(最少保留一个)。 然后把小数点对齐,按照A+B(二)的做法先把数组倒置,然后对应位相加。 #include #include #define max(a,

nyist_xiaod 1330

NYOJ--513--A+B Problem IV(大数)

A+B Problem IV 时间限制:1000ms | 内存限制:65535KB 难度:3 描述acmj最近发现在使用计算器计算高精度的大数加法时很不方便,于是他想着能不能写个程序把这个问题给解决了。 输入包含多组测试数据每组数据包含两个正数A,B(可能为小数且位数不大于400)输出每组输出数据占一行,输出A+B的结果,结果需要是最简的形式。样例输入 1.9...

weixin_30808693的博客 84
上一篇: 【邮票分你一半 456】
下一篇: 【A+B Problem II 103】
paidream
博客等级 码龄14年 24粉丝 195原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

paidream

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值