【洛谷 P1303】A*B Problem 题解(高精度+字符串)
A*B Problem
题目描述
给出两个非负整数,求它们的乘积。
输入格式
输入共两行,每行一个非负整数。
输出格式
输出一个非负整数表示乘积。
样例 #1
样例输入 #1
1
2
样例输出 #1
2
提示
每个非负整数不超过 1 0 2000 10^{2000} 102000。
思路
通过两层循环,将字符串 sa 和 sb 转换为数字后逐位相乘,将乘法结果的当前位存储在 ic 数组的对应位置中,将进位加到 ic 数组的下一位。
注意:
- 必须去除前导零,否则会导致WA。
- ic 数组的低位存储的是结果数值的高位。
- 结果可能为 0,当 sc 为空字符串时直接输出 0。
AC代码
#include <iostream>
#include <string>
#include <cstring>
#define AUTHOR "HEX9CF"
using namespace std;const int N = 1e4 + 5;string sa, sb, sc;
int ic[N];int main() {memset(ic, 0, sizeof(ic));cin >> sa >> sb;int la = sa.length();int lb = sb.length();for(int i = la - 1; i >= 0; i--) {for(int j = lb - 1; j >= 0; j--) {int mul = (sa[i] - '0') * (sb[j] - '0');int sum = mul + ic[i + j + 1];ic[i + j + 1] = sum % 10;ic[i + j] += sum / 10;}}sc = "";for(int i = 0; i < la + lb; i++) {if(sc.empty() && !ic[i]) {continue;}sc += to_string(ic[i]);}if(sc.empty()) {cout << 0 << endl;} else {cout << sc << endl;}return 0;
}
相关文章:
【洛谷 P1303】A*B Problem 题解(高精度+字符串)
A*B Problem 题目描述 给出两个非负整数,求它们的乘积。 输入格式 输入共两行,每行一个非负整数。 输出格式 输出一个非负整数表示乘积。 样例 #1 样例输入 #1 1 2样例输出 #1 2提示 每个非负整数不超过 1 0 2000 10^{2000} 102000。 思路 …...
计算机网络(43)
目录 计算机网络学习 1、OSI 七层网络模型,你了解吗?具体功能有哪些? 2、TCP/IP四层模型? 3、说一下TCP的三次握手? 4、为什么要三次握手?两次行不行?四次呢? 5、为什么建立连接是三…...
Ipswitch WS_FTP 12 安裝
Ipswitch WS.FTP.Professional.12.6.rar_免费高速下载|百度网盘-分享无限制 This works but quite difficult to figure out. It didnt allow me to replace the wsftpext.dll at 1st and had to test lots of ways how to replace it. This is how I did: 1. Follow the instr…...
二十三种设计模式全面解析-解密组合模式(Composite Pattern):构建统一而强大的对象结构
在软件开发中,面对复杂的对象结构和层次关系,我们常常需要一种能够统一处理单个对象和对象组合的设计模式。组合模式(Composite Pattern)提供了一种优雅而灵活的解决方案,它允许我们以统一的方式处理单个对象和对象组合…...
为什么路由器属于网络层
1. 路由器所属阶段 路由器属于 OSI 模型的网络层,因为它们负责根据网络层信息(第 3 层)做出路由决策。网络层是 OSI 模型中的第三层,主要负责将数据包从网络中的源路由到目的地。 Here’s a formal and precise explanation of …...
【0基础学Java第七课】-- 类和对象01
7. 类和对象 7.1 面向对象的初步认知7.1.1 什么是面向对象7.1.2 面向对象与面向过程 7.2 类定义和使用7.2.1 简单认识类7.2.2 类的定义格式7.2.3 定义一个狗类7.2.4 定义一个学生类 7.3 类的实例化7.3.1 什么是实列化7.3.2 引用只能指向对象,且不能同时指向多个对象…...
一个JS版寻路的实现
js版的寻路的测试 20231104_161146 path get_v8: function (x_inc, y_inc) {if (x_inc 0) {if (y_inc < 0) {return [[0, -1], [-1, -1], [1, -1], [-1, 0], [1, 0], [-1, 1], [1, 1], [0, 1]];} else if (y_inc > 0) {return [[0, 1], [-1, 1], [1, 1], [-1, 0], [1, 0…...
Java web应用的目录结构
详情可以参考: https://tomcat.apache.org/tomcat-10.1-doc/appdev/deployment.html https://jakarta.ee/specifications/servlet/6.0/jakarta-servlet-spec-6.0.html#directory-structure Java web应用根目录下包含如下内容: *.html, *.jsp等…...
【Mac环境搭建】JDK安装、多JDK安装与切换
文章目录 JDK下载与安装下载安装 配置环境变量安装多个JDK共存 JDK下载与安装 下载 Oracle官网提供了非常多个版本的JDK供下载,可以点击如下链接重定向到JDK下载页面 ORACLE官网JDK下载 安装 下面的官方文档可以点开收藏到浏览器的收藏夹,这样后续在开…...
C++: 类和对象(中)
文章目录 1. 类的6个默认成员函数2. 构造函数构造函数概念构造函数特性特性1,2,3,4特性5特性6特性7 3. 析构函数析构函数概念析构函数特性特性1,2,3,4特性5特性6 4. 拷贝构造函数拷贝构造函数概念拷贝构造函数特性特性1,2特性3特性4特性5 5. 运算符重载一般运算符重载赋值运算符…...
图片批量归类:告别混乱,实现高效文件管理
在日常生活中,我们经常需要处理大量的图片文件。这些图片可能来自于不同的设备、不同的目录,甚至不同的存储介质。随着时间的推移,这些图片文件会越来越多,管理起来也会越来越困难。如何高效地整理这些图片文件,告别混…...
187. 重复的DNA序列 --力扣 --JAVA
题目 DNA序列 由一系列核苷酸组成,缩写为 A, C, G 和 T.。 例如,"ACGAATTCCG" 是一个 DNA序列 。 在研究 DNA 时,识别 DNA 中的重复序列非常有用。 给定一个表示 DNA序列 的字符串 s ,返回所有在 DNA 分子中出现不止一次…...
Mysql高级——Mysql8一主一从,多主多从搭建
修改 /etc/hosts文件 ip地址 master1 ip地址 master2 ip地址 slave1 ip地址 slave2一主一从 create database master1db;create table master1db.master1tab(name char(50));insert into master1db.master1tab VALUES(1111);insert into master1db.master1tab VALUES(2222);m…...
【Qt5】QNetworkAccessManager
2023年11月5,周日晚上 QNetworkAccessManager是Qt Network模块中的一个类,用于发送网络请求和接收网络响应。它提供了一种方便的方式来进行网络通信,支持常见的网络协议,如HTTP、HTTPS、FTP等。 QNetworkAccessManager和QNetwork…...
zookeeper节点类型
节点类型 持久节点(Persistent Nodes) 这些是Zookeeper中最常见的一种节点类型,当创建一个持久类型节点时,该值会一直存在zookeeper中,直到被显式删除或被新值覆盖。 临时节点(Ephemeral Nodesÿ…...
【C++】一篇文章搞懂auto关键字及其相关用法!
💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …...
微信小程序overflow-x超出部分样式不渲染
把display:flex改成display:inline-flex, 将对象作为内联块级弹性伸缩盒显示, 类似与是子元素将父元素撑开,样式就显示出来了...
Oracle常用运维SQL-SQL执行性能及锁表等查询分析
oracle相关系列文章: docker–在Anaconda jupyter 容器中使用oracle数据源时,Oracle客户端安装配置及使用示例 Oracle常用运维SQL–用户管理、数据导入、导出的实用脚本 Oracle TEMPORARY TABLE 临时表的使用及删除报ORA-14452错误的解决办法 Oracle常用运维SQL-SQL执行性能及…...
安装MySQL时出现 由于找不到 MSVCR120.dll,无法继续执行代码。重新安装程序可能会解决此问题。
--------------------------- mysqld.exe - 系统错误 --------------------------- 由于找不到 MSVCR120.dll,无法继续执行代码。重新安装程序可能会解决此问题。 --------------------------- 确定 --------------------------- 安装MySQL时出现 “This appl…...
【基础IO⑧】:文件描述符fd(进程与文件的联系)
【基础IO⑧】:进程与文件之间的联系(文件描述符fd) 一.前言探讨[进程与文件关系]二.C语言文件操作三.系统文件调用1.open/write 四.文件描述符fd 一.前言探讨[进程与文件关系] 我们首先了解一些基本的认识: 1.文件包括文件内容和文件属性 2.…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
go 里面的指针
指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...
ThreadLocal 源码
ThreadLocal 源码 此类提供线程局部变量。这些变量不同于它们的普通对应物,因为每个访问一个线程局部变量的线程(通过其 get 或 set 方法)都有自己独立初始化的变量副本。ThreadLocal 实例通常是类中的私有静态字段,这些类希望将…...
