【高精度算法】高精度求积

信息学奥赛一本通1307:高精度乘法 存储在数组里,方便计算。核心代码是c[i+j-1] += a[i]*b[j]+x(x表示进位),在每个外层循环的末尾,要把本次的进位加上(即c[i+len_b] = x),最后用while循环删除多余的前导0。输入两个高精度正整数M和N(M和N均小于100位)。求这两个高精度数的积。使用string类型的变量暂时储存输入的大整数,接着用for循环将它以整型。输入两个高精度正整数M和N。求这两个高精度数的积。 阅读详情

题目描述

输入两个高精度正整数M和N(M和N均小于100位)。求这两个高精度数的积。

输入

两行,分别输入两个高精度正整数M和N

输出

输出计算结果

样例输入

36
3

样例输出

108

从后往前逐为相乘,结果加在i+j-1,也也要注意进位

#include<bits/stdc++.h>
using namespace std;
char s1[1005],s2[1005];
int a[1005],b[1005],c[1005],i=1;
int main()
{
	scanf("%s",&s1);
	scanf("%s",&s2);
	a[0]=strlen(s1);
	b[0]=strlen(s2);
	
	for(i=a[0];i>0;i--)
	{
		a[a[0]-i+1]=s1[i-1]-'0';
	}
	for(i=b[0];i>0;i--)
	{
		b[b[0]-i+1]=s2[i-1]-'0';
	}
	if(a[a[0]]==0||b[b[0]]==0)
	{
		cout<<0;
		return 0;
	}
	for(int j=1;j<=b[0];j++)
	{
		for(int i=1;i<=a[0];i++)
		{
			c[i+j-1]=c[i+j-1]+a[i]*b[j];
			c[i+j]=c[i+j]+c[i+j-1]/10;
			c[i+j-1]=c[i+j-1]%10;
		}
	}
	if(c[a[0]+b[0]]>0)c[0]=a[0]+b[0];
	else
		c[0]=a[0]+b[0]-1;

	for(int i=c[0];i>0;i--)
	{
		printf("%d",c[i]);
	}
	return 0;
 }
数值积分 复化梯形求积公式 | 北太天元 or matlab 数值积分——复化梯形求积公式 | 北太天元 主要以算法实现为主,使用软件为北太天元 阅读详情

相关推荐

27、高精度计算:CAMPARY库与合流超几何函数算法解析

本文深入解析了CAMPARY多精度算术库及其在Hénon映射迭代和半定规划(SDP)中的应用,重点介绍了其认证级与快速简易重归一化算法的性能差异。同时,文章详细阐述了合流超几何函数$_1F_1$和$U$在参数虚部较大时的高效计算方法,结合最速下降路径与Gauss-Laguerre等数值求积方案。通过性能对比、流程图及实际应用场景分析,展示了两种技术在高精度科学计算中的优势与潜力,并展望了未来在GPU加速与形式化验证方面的发展方向。

bb456的博客 94

高精度乘法 奥赛一本通T1307

题目链接 【题目描述】 输入两个高精度正整数M和N(M和N均小于100位)。求这两个高精度数的积。 【输入】 输入两个高精度正整数M和N。 【输出】 求这两个高精度数的积。 【输入样例】 36 3 【输出样例】 108 M和N的长度都远远大过int的范畴,我们要用字符串存储这两个大数,并且手动模拟乘法过程。 我觉得难点就是模拟过程中字符串的位置,因为读取后的M和N是高位在字符串的0下标,而最后存储结果是低位存储在字符串的0下标。 测试数组光一组是远远不够的,建议写好的代码再测试测试 99×9 9999×

二进制宇宙的博客 405

1307:【例1.3】高精度乘法

网站开通了捐赠支付宝帐号,详情请点击“关于“选项。 教师频道的功能开通了!!! 1307:【例1.3】高精度乘法 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 4358 通过数: 1440 【题目描述】 输入两个高精度正整数M和N(M和N均小于100位)。求这两个高精度数的积。 【输入】 输入两个高精度正整数M和N。 【输出】 求这两个高精度数的积。 【输入样例】 36 3 【输出样例】 108 【来源】

【高精度】高精度乘法(详细代码)

【高精度】高精度乘法(详细代码)

qq_40802813的博客 1796

我的交叉验证翻车实录:从‘炼丹’到可靠评估,我是怎么用五折验证拯救我的图像分割模型的

本文分享了作者在医学图像分割模型评估中从失败到成功的实战经验。通过引入五折交叉验证方法,解决了传统数据划分的局限性,显著提升了模型评估的稳定性和泛化能力。文章详细介绍了Python实现、数据准备策略和训练流水线改造,为AI医疗影像分析提供了可靠的技术方案。

weixin_42625070的博客 269

舵机操作手册

微型伺服马达原理与控制(中鸣) 1、微型伺服马达内部结构一个微型伺服马达内部包括了一个小型直流马达;一组变速齿轮组;一个反馈可调电位器;及一块电子控制板。其中,高速转动的直流马达提供了原始动力,带动变速(减速)齿轮组,使之产生高扭力的输出,齿轮组的变速比愈大,伺服马达的输出扭力也愈大,也就是说越能承受更大的重量,但转动的速度也愈低。 2、微行伺服马达的工作原理一个微型伺服马达是一个典型闭环反馈系统,其原理可由下图表示: 减速齿轮组由马达驱动,其终端(输出端)带动一个线性的比例电位器作位置检测,该电位器把

HEIMENGER的博客 3136

深入浅出学算法021-高精度求积(MULTIPLY)

高精度求积

weixin_45852395的博客 462

VisualStudio2022配置CGAL

vs2022和vs2017安装配置boost没什么区别,只需要注意boost的msvc得是14.3的,这玩意跟visualstudio版本挂钩的。压缩包解压,得到下面这两文件,然后把auxiliary这个文件挪到CGAL-5.6里面就行了。我用cgal读取一个stl模型,并输出相关信息(想可视化的话需要安装Qt,不想装Qt也可以装VTK)然后下载下面这两个压缩包。照着下面的截图填就完事了。

weixin_43850909的博客 1171

问题 E: 深入浅出学算法021-高精度求积(MULTIPLY)

p.s.个人收录用。

2301_79277083的博客 302

详解modbus TCP通讯,并利用其实现欧姆龙PLC和西门子PLC的通讯

大家好,之前需要更新的MQTT通讯【2】因为硬件不足还不能发布出来,但最近在项目中涉及到西门子和欧姆龙之间的modbus TCP通讯,想到modbus TCP通讯是个非常常见并广泛使用的通讯协议,今天就结合最近做的测试给大家好好讲解一下,先提示一下,这边只给大家讲解如何实现,至于报文是什么,如何用socket来编写功能块或dll这边不会讲解,这块我会根据私信的小伙伴数量来考虑要不要出一篇如何用ST语言来编写modbus TCP功能块的博客。

dy186187的博客 1万+

(详细总结)python爬取 163收件箱邮件内容,收件箱列表的几种方法(urllib, requests, selenium)

需求:最近有一个需求,需要将163邮箱收件箱里面的所有邮件的内容全部copy下来,整理到一个word里面,不多也就28页的邮件(不要问我为什么有这需求,不告诉你),自己手动去ctrl+ cv 的话,估计要搞吐。然后就想能不能用python的爬虫来实现,虽然过程比较苦(后期改bug改的要吐了)。但是会后还是将需求实现了。这基本也算是入门了 urllib、requests、selenium这几个py...

man_tou_22 1万+

Romberg求积算法-C++

Romberg求积算法是一种数值积分算法,它基于外推的思想,通过递归地划分积分区间并计算子区间积分来提高精度。这种算法结合了复化梯形公式和Richardson外推法,通过逐步构建更高阶的求积公式,并以较小的计算代价获得远高于原始公式的精确度。Romberg求积算法特别适用于求解定积分问题,尤其是当被积函数光滑且积分区间有限时,能够在保证精度的前提下有效减少计算量。

大师的学徒的博客 967

使用 Simulink Real-Time 搭建一个完整的实时信号采集与滤波系统模型

本文详细介绍了基于Simulink Real-Time构建实时信号采集与滤波系统的完整流程。主要内容包括:系统配置(模型创建与参数设置)、信号采集模块搭建(模拟信号源或真实硬件连接)、实时滤波器设计(浮点/定点)、输出可视化(Scope/ToWorkspace等)、模型编译与下载到目标机、外部模式在线调试及数据保存方法。系统可实现微秒级实时信号处理,适用于工业控制、航空航天等对时间确定性要求高的场景。文章还提供了优化建议(多速率建模、优先级调度等)和应用场景说明,帮助读者快速掌握实时系统开发的核心技能。

amy_mhd的博客 304

【3003】&&【9105】高精度求积 【高精度压位】

高精度求积 Time Limit: 10 second Memory Limit: 2 MB 问题描述 输入两个高精度正整数m和n(m和n均小于100位),求这两个高精度的积 Input 文件输入两行,第一行输入m的值,第二行输入n的值 Output 输出积,最后不带任何符号(不用换行) Sample Input 36 3 Sample Output 108 【题解】...

weixin_30642029的博客 82

CAPL通过lookupSignal和DBLookup获取DBC信号的属性信息

CAPL通过lookupSignal和DBLookup获取DBC信号的属性信息以及一些相关问题

天赐好车的博客 2884

【教程4>第4章>第20节】基于FPGA的costas环整体实现与仿真测试

Costas 环是一种用于载波同步的闭环反馈控制系统,主要应用于通信系统中的相干解调。其基本原理是通过鉴相器(Phase Detector,PD)比较接收信号与本地载波信号的相位差,将这个相位差信息经过环路滤波器(Loop Filter,LF)滤波后,去控制数控振荡器(Numerically Controlled Oscillator,NCO)的输出频率和相位,使得本地载波能够跟踪接收信号的载波,最终实现载波同步。Costas 环环路滤波器在载波同步过程中起着不可或缺的作用。

FPGA/MATLAB学习教程/源码/项目合作开发 1263

多项式核心算法分析:精通常见方法

1.背景介绍 多项式核心算法是一种常见的数值计算方法,广泛应用于各种领域,如机器学习、计算机图形学、信号处理等。在这篇文章中,我们将深入探讨多项式核心算法的背景、核心概念、算法原理、具体实现以及未来发展趋势。 1.1 背景介绍 多项式核心算法起源于1950年代的数值分析研究,主要用于解决高精度计算和稳定性问题。随着计算机技术的发展,多项式核心算法逐渐成为计算机科学家和工程师的重要工具。 多...

AI天才研究院 1316

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【数值分析】数值积分与数值微分经典算法(附MATLAB代码)

本文介绍了三种数值积分方法及其MATLAB实现:1) 变步长梯形法通过逐步二分区间提高精度,计算e^(-x²)在[0,1]积分结果为0.7468;2) 龙贝格法利用外推加速收敛,相同积分获得0.74682;3) 高斯-勒让德法选取特殊节点提升精度,4点法计算sin(x)/x在[0,2π]积分得1.41886。三种方法均通过MATLAB程序验证,展示了不同数值积分技术的实现过程与精度特点。

2401_84149564的博客 736

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

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

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

二重积分的复化simpson公式c_7.3 复化求积法

由误差余项公式可知区间过大,误差亦大;为避免可选取适当多的节点,即选取相对高阶的Newton-cotes公式,但由稳定性分析又知:当阶数过大时,会出现不稳定的Runge现象。复化求积法:将积分区间进行适当分段,在各分段子区间上采用低阶的Newton-Cotes求积公式,对各个小区间上的积分值进行一个近似,最后再累加起来。例如:复化Simpson公式的推导:复化Simpson公式误差分析:其中有个加...

weixin_34621186的博客 3491

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【数值分析实验】(三)数值积分与数值微分(含matlab代码)

;龙贝格求积从梯形公式出发,将区间逐次二分,通过外推算法,逐步提高积分公式的精度,其优点在于通过一次次的加工,利用误差不断修正近似积分值,有效地加快了收敛速度,用阶数较低的求积公式可以得到高精度的结果,便于编程计算。

qq_46589230的博客 2189

龙贝格积分法的C语言实现及应用

问题背景与提出 龙贝格求积公式也称为逐次分半加速法。是数值计算方法之一,用以求解数值积分。是在梯形公式、辛普森公式和柯特斯公式之间关系的基础上,构造出一种加速计算积分的方法。 作为一种外推算法,在不增加计算量的前提下提高了误差的精度。 龙贝格公式在变步长的求积过程中运用三个加速公式,由变步长的梯形加速法,逐步得到梯形加速公式、抛物线加速公式,进而由粗糙的积分近似值迅速加工成精度较高的积分近似值。...

爆破手阿瓒的博客 6049

变步长梯形求数值积分

数值积分中,插值求积公式可以近似求积函数。对于插值函数,可以用梯形公式来近似,为了满足一定的精度,需要将求积区间分成很多个小的区间,分别用于梯形公式,但是由于某些时候步长不能很好的控制,所以需要变步长。本算法给出变步长求积公式,该算法的具体形式可以在数值分析的书籍中找到,下面直接给出c++代码/;/*变步长梯形求积法 *该函数double tarp_form(double a,double b,do

zhutou1280的博客 8138

信息学奥赛一本通 1307:【例1.3】高精度乘法 & 1174:大整数乘法

一行,即相乘后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。输入两个高精度正整数M和N(M和N均小于100位)。求这两个高精度数的积。有两行,每行是一个不超过200位的非负整数,没有多余的前导0。求两个不超过200位的非负整数的积。输入两个高精度正整数M和N。求这两个高精度数的积。1174:大整数乘法。

pystraf的博客 703
上一篇: 【高精度练习】加法天才
下一篇: 【高精度练习】超级计算机
开朗的坤坤
博客等级 码龄5年 11粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值