C++知识点总结(6):高精度乘法真题代码
一、高精度数 × 低精度数
#include <iostream>
#include <cstring>
using namespace std;int main()
{// 存储并输入两个数字 char a_str[1005] = {};long long b;cin >> a_str >> b;// 特例先行:结果是0的情况if (a == 0 || b == 0){cout << 0;return 0;} // 转换第一个高精度数 int a[1005] = {};int len_a = strlen(a_str);for (int i = 0; i <= len_a-1; i++){a[len_a-i-1] = a_str[i] - 48;}// 计算int len_ans = len_a;long long ans[1005] = {};long long in = 0;for (int i = 0; i <= len_ans-1; i++){ans[i] = a[i] * b + in; // 存储数字 in = ans[i] / 10; // 得到进位 ans[i] %= 10; // 在对应的数位上保留实际得数的最后一位 }// 输出结果 while (in > 0) // 最高位处理 {ans[len_ans] = in % 10;len_ans++;in /= 10;}// 正常输出 for (int i = len_ans - 1; i >= 0; i--){cout << ans[i]; }return 0;
}
二、高精度数 × 高精度数
#include <iostream>
#include <cstring>
using namespace std;int main()
{// 存储并输入两个数字 char a_str[1005] = {};char b_str[1005] = {};cin >> a_str >> b_str;// 转换高精度数 int a[1005] = {};int b[1005] = {};int len_a = strlen(a_str);int len_b = strlen(b_str);for (int i = 0; i <= len_a-1; i++){a[len_a-i-1] = a_str[i] - 48;}for (int i = 0; i <= len_b-1; i++){b[len_b-i-1] = b_str[i] - 48;}// 计算int ans[2010] = {};int in = 0;for (int j = 0; j <= len_b-1; j++){for (int i = 0; i <= len_a-1; i++){ans[i+j] = a[i] * b[j] + in + ans[i+j];in = ans[i+j] / 10;ans[i+j] %= 10; } // 最高位处理 ans[len_a+j] = in;in = 0; // 重置进位}// 正常输出int len_ans = len_a + len_b; // 结果的最大位数// 前导0while (ans[len_ans-1] == 0 && len_ans > 1){len_ans--;}for (int i = len_ans - 1; i >= 0; i--){cout << ans[i]; }return 0;
}
三、高精度数的平方
#include <iostream>
#include <cstring>
using namespace std;int main()
{// 存储并输出两个数字 char a_str[1005] = {};char b_str[1005] = {};cin >> a_str;strcpy(b_str, a_str);// 转换高精度数 int a[1005] = {};int b[1005] = {};int len_a = strlen(a_str);int len_b = strlen(b_str);for (int i = 0; i <= len_a-1; i++){a[len_a-i-1] = a_str[i] - 48;}for (int i = 0; i <= len_b-1; i++){b[len_b-i-1] = b_str[i] - 48;}// 计算int ans[2010] = {};int in = 0;for (int j = 0; j <= len_b-1; j++){for (int i = 0; i <= len_a-1; i++){ans[i+j] = a[i] * b[j] + in + ans[i+j];in = ans[i+j] / 10;ans[i+j] %= 10; } // 最高位处理 ans[len_a+j] = in;in = 0; // 重置进位}// 正常输出int len_ans = len_a + len_b; // 结果的最大位数// 前导0while (ans[len_ans-1] == 0 && len_ans > 1){len_ans--;}for (int i = len_ans - 1; i >= 0; i--){cout << ans[i];}return 0;
}
四、高精度阶乘
#include <iostream>
#include <cstring>
using namespace std;int main()
{// 输入int n;cin >> n;// 初始化计算相关变量 int in = 0;int ans[10005] = {1};int len_ans = 1;// 计算阶乘for (int num = 1; num < n; num++) // num是对应的因数 {// 高精度数 ×低精度数代码 for (int i = 0; i <= len_ans-1; i++) {ans[i] = ans[i] * num + in; // ans[i] = 上一轮的结果 * 下一个因数 + 上一次的进位 in = ans[i] / 10;ans[i] %= 10;}while (in){ans[len_ans] = in % 10;len_ans++;in /= 10;}}for (int i = 1; i <= len_ans; i++){cout << ans[i];}return 0;
}
建议结合课程学习:
戳进课程入口>>
相关文章:
C++知识点总结(6):高精度乘法真题代码
一、高精度数 低精度数 #include <iostream> #include <cstring> using namespace std;int main() {// 存储并输入两个数字 char a_str[1005] {};long long b;cin >> a_str >> b;// 特例先行:结果是0的情况if (a 0 || b 0){cout <&…...
Polygon zkEVM的Dragon Fruit和Inca Berry升级
1. Polygon zkEVM的Dragon Fruit升级 2023年8月31日,Polygon zkEVM团队宣称启动了其Mainnet Beta的Dragon Fruit升级的10天timelock,预计将于2023年9月11日激活。 Dragon Fruit升级点有: 改进了网络支持了最新的以太坊opcode——PUSH0 1.…...
【计算机网络学习之路】网络基础1
文章目录 前言一. 计算机网络发展局域网和广域网 二. 网络协议三. OSI七层模型四. TCP/IP四层(五层)模型五. 计算机体系结构与网络协议栈六. 协议形式及局域网通信数据包封装与分用 七. 跨网络通信八. MAC地址与网络通信的理解结束语 前言 本系列文章是…...
HTTP/2.0协议详解
前言 HTTP/2.0:互联网通信的革新标准 随着互联网技术的飞速发展,HTTP协议作为互联网应用最广泛的通信协议,也在不断演进和优化。HTTP/2.0是HTTP协议的最新版本,它旨在提供更高效、更安全、更快速的互联网连接。 一、HTTP/2.0的优…...
Python中的Random模块详解:生成随机数与高级应用
在Python编程中,随机数生成是许多应用的基础之一。random模块为我们提供了生成伪随机数的丰富工具,从简单的随机数生成到复杂的应用场景,都有很多功能可以探索。本文将深入介绍random模块的各个方面,通过详实的示例代码࿰…...
(论文阅读32/100)Flowing convnets for human pose estimation in videos
32.文献阅读笔记 简介 题目 Flowing convnets for human pose estimation in videos 作者 Tomas Pfister, James Charles, and Andrew Zisserman, ICCV, 2015. 原文链接 https://arxiv.org/pdf/1506.02897.pdf 关键词 Human Pose Estimation in Videos 研究问题 视频…...
【设计一个缓存--针对各种类型的缓存】
设计一个缓存--针对各种类型的缓存 1. 设计顶层接口2. 设计抽象类 -- AbstractCacheManager3. 具体子类3.1 -- AlertRuleItemExpCacheManager3.2 -- AlertRuleItemSrcCacheManager 4. 类图关系 1. 设计顶层接口 // 定义为一个泛型接口,提供给抽象类使用 public interface Cach…...
Django部署时静态文件配置的坑
Django部署时静态文件配置配置的坑 近期有个需求是用django进行开发部署,结果发现静态文件配置的坑是真的多,另外网上很多的内容也讲不清楚原理,就是这样这样,又那样那样,进了不少坑,这里记录一下关于css,…...
Android---网络编程优化
网络请求操作是一个 App 的重要组成部分,程序大多数问题都是和网络请求有关。使用 OkHttp 框架后,可以通过 EventListener 来查看一次网络请求的详细情况。一次完整的网络请求会包含以下几个步骤。 也就是说,一次网络请求的操作是从 DNS 解析…...
《算法通关村——不简单的字符串转换问题》
《算法通关村——不简单的字符串转换问题》 8. 字符串转换整数 (atoi) 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C 中的 atoi 函数)。 函数 myAtoi(string s) 的算法如下: 读入…...
给VSCode插上一双AI的翅膀
#AI编程助手哪家好?DevChat“真”好用# 文章目录 前言一、安装DevChat1.1、访问地址1.2、注册1.3、在VSCode里安装DevChat插件1.3.1、未安装状态1.3.2、已安装状态 二、设置Access Key2.1. 点击左下角管理(“齿轮”图标)—命令面板ÿ…...
2023年亚太杯数学建模思路 - 案例:异常检测
文章目录 赛题思路一、简介 -- 关于异常检测异常检测监督学习 二、异常检测算法2. 箱线图分析3. 基于距离/密度4. 基于划分思想 建模资料 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 一、简介 – 关于异常…...
机器学习的医疗乳腺癌数据的乳腺癌疾病预测
项目视频讲解:基于机器学习的医疗乳腺癌数据的乳腺癌疾病预测 完整代码数据分享_哔哩哔哩_bilibili 效果演示: 代码: #第一步!导入我们需要的工具 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns %matplotlib inlin…...
解析:什么是生成式AI?与其他类型的AI有何不同?
原创 | 文 BFT机器人 快速浏览一下头条新闻,你会发现生成式AI似乎无处不在。事实上,一些新闻标题甚至可能是通过生成式AI编写的,例如OpenAI旗下的ChatGPT,这个聊天机器人已经展现出了生成看起来像人类所写文本的惊人能力。 当人们…...
国产化项目改造:使用达梦数据库和东方通组件部署,前后端分离框架
前提:前后端分离前后端包都要用war包。 1、springboot后端改变war包 pom文件添加 <packaging>war</packaging>添加依赖,并且支持tomcat<!-- war包 --><dependency><groupId>org.springframework.boot</groupId><…...
Nginx实现负载均衡
Nginx实现负载均衡 负载均衡的作用 1、解决单点故障,让web服务器构成一个集群 2、将请求平均下发给后端的web服务器 负载均衡的软硬件介绍 负载均衡软件: # nginx 四层负载均衡:stream(nginx 1.9版本以后有stream模块&#x…...
SpringCloud 2022有哪些变化
目录 前提条件 AOT支持 Spring Native支持 前提条件 Spring Cloud 2022.0.0是构建在Spring Framework 6.0和Spring Boot 3.0 之上的一S个主要版本。 JDK要求最低需要是Java 17J2EE要求最低需要Jakarta EE 9 AOT支持 Spring cloud 2022支持AOT编译,它是将程序源…...
如何快速本地搭建悟空CRM结合内网穿透工具高效远程办公
🌈个人主页:聆风吟 🔥系列专栏:数据结构、Cpolar杂谈 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. 无需公网IP,使用cpolar实现悟空CRM远程访问二. 通过公网来访问公司…...
Docker打包Python项目
1. 简介 Docker是一种开源的容器化平台,可以将应用程序及其依赖项打包到一个轻量级、可移植的容器中。通过使用Docker,可以简化Python项目的部署和运行,提高开发效率和应用程序的可移植性。 本文将介绍如何使用Docker来打包Python项目。我们…...
【Java并发编程一】并发与并行
为什么引入并发 摩尔定理逐渐失效,单核性能很难提升,通过组合多核性能来进一步满足实际需要,从而引入并发编程。在大部分场景下,并行是由于串行的,并行可以优化非关键节点的时间消耗。 并发的三大特性 原子性 某个…...
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
基于鸿蒙(HarmonyOS5)的打车小程序
1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...
跨平台商品数据接口的标准化与规范化发展路径:淘宝京东拼多多的最新实践
在电商行业蓬勃发展的当下,多平台运营已成为众多商家的必然选择。然而,不同电商平台在商品数据接口方面存在差异,导致商家在跨平台运营时面临诸多挑战,如数据对接困难、运营效率低下、用户体验不一致等。跨平台商品数据接口的标准…...
python打卡day49@浙大疏锦行
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 一、通道注意力模块复习 & CBAM实现 import torch import torch.nn as nnclass CBAM(nn.Module):def __init__…...
[QMT量化交易小白入门]-六十二、ETF轮动中简单的评分算法如何获取历史年化收益32.7%
本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。 QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。 文章目录 相关阅读1. 策略概述2. 趋势评分模块3 代码解析4 木头…...
电脑定时关机工具推荐
软件介绍 本文介绍一款轻量级的电脑自动关机工具,无需安装,使用简单,可满足定时关机需求。 工具简介 这款关机助手是一款无需安装的小型软件,文件体积仅60KB,下载后可直接运行,无需复杂配置。 使用…...
