高精计算

 

高精计算
编写一个以字符串为基础进行整数加法的一个程序。这个整数包含符号位,总长不超过255位(因为某些语言的字符串有长度限制)。

输入文件格式:两行,每行为一个长度不超过255的十进制数。可以是负的,负号算一位,既负数的数字部分不超过254位。
in.txt
输出文件格式:一行,得数。
out.txt

#include<fstream>
#include
<vector>
#include
<string>
#include
<iostream>
using namespace std;

int main()
{
     ifstream infile(
"in.txt");
     ofstream outfile(
"out.txt");
     
string s1,s2;
     getline(infile,s1);
     getline(infile,s2);
     
string::iterator s_iter1(s1.begin()),s_iter2(s2.begin());
     
int len,sign1(1),sign2(1),sign_ans(1);
     
if (*s_iter1=='-'){
         sign1
=-1;
         s1.erase(s_iter1);
         }

     
if (*s_iter2=='-'){
         sign2
=-1;
         s2.erase(s_iter2);
         }

     
if (s1.size()>s2.size())
         len
=s1.size();
     
else
         len
=s2.size();
     vector
<int> ans(len+1,0),ivec1(len,0),ivec2(len,0);
     vector
<int>::reverse_iterator r_iter1(ivec1.rbegin()+len-s1.size()),r_iter2(ivec2.rbegin()+len-s2.size()),r_iter_ans(ans.rbegin());
     vector
<int>::iterator iter1(ivec1.begin()),iter2(ivec2.begin()),iter_ans(ans.begin());
     
     
if (sign1==1)
         
for (int i=0;i!=s1.size();++i,++r_iter1)
             
*r_iter1=s1[i]-'0';
     
else
         
for (int i=0;i!=s1.size();++i,++r_iter1)
             
*r_iter1='0'-s1[i];

     
if (sign2==1)
         
for (int i=0;i!=s2.size();++i,++r_iter2)
             
*r_iter2=s2[i]-'0';
     
else
         
for (int i=0;i!=s2.size();++i,++r_iter2)
             
*r_iter2='0'-s2[i];

     
for (int i=0;i!=len;++i,++iter1,++iter2,++iter_ans)
         
*iter_ans=*iter1+*iter2;
     
if (*(iter_ans-1)<0){
         outfile
<<"-";
         iter_ans
=ans.begin();
         
for (int i=0;i!=len;++iter_ans,++i)
             
*iter_ans=-*iter_ans;
         }

     iter_ans
=ans.begin();
     
for (int i=0;i!=len;++iter_ans,++i)
         
if (*iter_ans>0){
             
*(iter_ans+1)+=*iter_ans/10;
             
*iter_ans=*iter_ans%10;
             }

         
else if (*iter_ans!=0){
                  
--*(iter_ans+1);
                  
*iter_ans+=10;
                  }


     
for (;r_iter_ans!=ans.rend();++r_iter_ans)
         
if ((sign_ans==1)&&(*r_iter_ans==0))
             
continue;
         
else{
              sign_ans
=0;
              outfile
<<*r_iter_ans;
              }


     infile.close();
     outfile.close();
     
return 0;
}

(SCI三维路径规划对比)25年最新五种智能算法优化解决无人机路径巡检三维路径规划对比(灰雁算法真菌算法吕佩尔狐阳光生长研究(Matlab代码实现)内容概要:本文档主要介绍了一项关于无人机三维路径巡检规划的研究,通过对比2025年最新的五种智能优化算法(包括灰雁算法、真菌算法、吕佩尔狐算法、阳光生长算法等),在复杂三维环境中优化无人机巡检路径的技术方案。所有算法均通过Matlab代码实现,并重点围绕路径安全性、效率、能耗和避障能力进行性能对比分析,旨在为无人机在实际巡检任务中的路径规划提供科学依据和技术支持。文档还展示了多个相关科研方向的案例与代码资源,涵盖路径规划、智能优化、无人机控制等多个领域。; 适合人群:具备一定Matlab编程基础,从事无人机路径规划、智能优化算法研究或自动化、控制工程方向的研究生、科研人员及工程技术人员。; 使用场景及目标:① 对比分析新型智能算法在三维复杂环境下无人机路径规划的表现差异;② 为科研项目提供可复现的算法代码与实验基准;③ 支持无人机巡检、灾害监测、电力线路巡查等实际应用场景的路径优化需求; 阅读建议:建议结合文档提供的Matlab代码进行仿真实验,重点关注不同算法在收敛速度、路径长度和避障性能方面的表现差异,同时参考文中列举的其他研究案例拓展思路,提升科研创新能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值