(每日一练28805)题目名称:c++难题-大数加法

文盲老顾
新星创作者: 信息安全技术领域
领域专家: 数据库技术领域
2023-06-18 15:04:29

大数一直是一个c语言的一个难题。 现在我们需要你手动模拟出大数加法过程。 请你给出两个大整数加法结果。

是不是不用 c++ 这个题目就没啥意义了?

print(int(input())+int(input()))
...全文
823 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-06-18
精选
  • 打赏
  • 举报
回复
您的问题已经帮您同步至问答, 链接: https://ask.csdn.net/questions/7966354, 请您保持关注, 如果回答有帮助解决此问题, 麻烦您动动小手给相关的回答点赞, Ada会在评论区为您更新结题状态
赵4老师 2023-06-21
  • 打赏
  • 举报
回复 1

#include <stdio.h>
#include <string.h>
#define MAXLEN 1000
char a1[MAXLEN];
char a2[MAXLEN];
static int v1[MAXLEN];
static int v2[MAXLEN];
static int v3[MAXLEN];
int i,j,n,L,z;
void main(void) {
    scanf("%d",&n);
    for (j=0;j<n;j++) {
        scanf("%s%s",a1,a2);

        L=strlen(a1);
        for (i=0;i<L;i++) v1[i]=a1[L-1-i]-'0';

        L=strlen(a2);
        for (i=0;i<L;i++) v2[i]=a2[L-1-i]-'0';

        for (i=0;i<MAXLEN;i++) v3[i]=v1[i]+v2[i];

        for (i=0;i<MAXLEN;i++) {
            if (v3[i]>=10) {
                v3[i+1]+=v3[i]/10;
                v3[i]=v3[i]%10;
            }
        }

        printf("Case %d:\n", j+1);
        printf("%s + %s = ", a1, a2);

        z=0;
        for (i=MAXLEN-1;i>=0;i--) {
            if (z==0) {
                if (v3[i]!=0) {
                    printf("%d",v3[i]);
                    z=1;
                }
            } else {
                printf("%d",v3[i]);
            }
        }
        if (z==0) printf("0");

        printf("\n");
    }
}
//Sample Input
//3
//0 0
//1 2
//112233445566778899 998877665544332211
//
//Sample Output
//Case 1:
//0 + 0 = 0
//Case 2:
//1 + 2 = 3
//Case 3:
//112233445566778899 + 998877665544332211 = 1111111111111111110

对象被抛出 2023-06-18
  • 打赏
  • 举报
回复

之前写过一个c++的大数模板...不过加减只能处理同号的情况....

class BigInteger {
private:
    string __version__ = "1.0";
    int d[MAX];        // 左对齐存储数字, d[0]存储大数字的最低位, d[MAX-1]存储最高位
    int len;
    bool positive;    // 正负
public:
    BigInteger();        // 无参构造
    BigInteger(string str);    // 有参构造, 返回字符串对应的大整数, 字符串第一位为符号位, +省略
    int getLength();    // 整数长度, 不包括符号位
    bool isPositive();    // 是否为正
    string getVersion();
    string toString(bool withFlag);    // withFlag表示是否返回符号位
 
    // 重载五种基本比较
    bool operator < (const BigInteger& bint)const;    
    bool operator > (const BigInteger& bint)const;
    bool operator == (const BigInteger& bint)const;
    bool operator >= (const BigInteger& bint)const;
    bool operator <= (const BigInteger& bint)const;
    
    // 重载输出格式
    friend ostream& operator<< (ostream& out, const BigInteger& bint);    
 
    // 大整数之间的运算
    BigInteger operator+(BigInteger& bint);
    BigInteger operator-(BigInteger& bint);
    BigInteger operator*(BigInteger& bint);
    BigInteger operator/(BigInteger& bint);
    BigInteger operator%(BigInteger& bint);
    void operator+=(BigInteger& bint);
    void operator-=(BigInteger& bint);
    void operator*=(BigInteger& bint);
    void operator%=(BigInteger& bint);
};
 
BigInteger BigInteger::operator+(BigInteger& bint) {
    assert(this->positive == bint.positive);
    BigInteger result;
    result.positive = this->positive;
    int carry = 0;    // 进位
    for (int i = 0; i < this->len || i < bint.len; i++) {
        int temp = this->d[i] + bint.d[i] + carry;
        result.d[result.len++] = temp % 10;
        carry = temp / 10;
    }
    if (carry != 0)    result.d[result.len++] = carry;
    return result;
}
内容概要:本文研究了基于空调与电动汽车联合虚拟储能的海岛微电网协同优化调度问题,提出了一种融合虚拟储能技术与混合整数线性规划(MILP)的多目标优化模型。通过将温控负荷(如空调)和电动汽车的充放电行为建模为可调度的虚拟储能资源,充分挖掘其在时间维度上的灵活调节潜力,实现对微电网中可再生能源波动的有效平抑。研究构建了一个涵盖经济性、可再生能源消纳率和系统运行稳定性的综合优化目标函数,并采用MILP方法进行高效求解,实现了源-荷两侧的协同优化调度。仿真结果表明,该策略不仅能显著降低系统综合运行成本,还能提升清洁能源的就地消纳水平,增强海岛微电网在孤立运行条件下的灵活性与韧性。; 适合人群:具备电力系统、能源优化或自动化相关背景,从事微电网、可再生能源集成、需求响应或智能调度研究的研发人员和研究生。; 使用场景及目标:①应用于海岛等远离主网的孤立微电网能量管理系统;②挖掘温控负荷与电动汽车的隐性储能价值,提升电网对高比例可再生能源的接纳能力;③为源荷互动、需求侧资源聚合参与优化调度的研究与实践提供可复现的模型框架与Matlab代码实现方案。; 阅读建议:此资源包含完整的Matlab代码实现,建议读者结合文档中的模型构建思路与仿真结果进行学习,重点关注虚拟储能的数学建模方法、多目标优化的线性化处理技巧以及MILP求解器的应用,可通过调整负荷参数、新能源出力场景等方式进行复现与拓展性实验。
内容概要:本文研究了有限控制集模型预测控制(FCS-MPC)在并网逆变器中的应用,重点分析其在复杂电网工况下的运行特性与并网性能,并通过Simulink进行仿真实现。文章系统探讨了FCS-MPC策略如何提升逆变器的动态响应能力、电能质量和系统稳定性,涵盖预测模型构建、控制目标优化与约束处理等关键技术环节。通过设计合理的代价函数与预测模型,实现了对并网电流的高精度控制,有效降低谐波含量,增强系统对电网电压波动、不平衡等外部扰动的适应能力。仿真结果充分验证了该控制方法在稳态精度与动态性能方面的优越性,展现出良好的工程应用潜力。; 适合人群:具备电力电子、自动控制或新能源并网等相关专业背景,从事科研或工程开发工作,且具有Matlab/Simulink仿真基础的研究人员和研究生。; 使用场景及目标:① 学习并掌握有限控制集模型预测控制在三相并网逆变器中的基本原理与实现方法;② 通过仿真实践深入理解MPC在提升电能质量、增强系统鲁棒性方面的技术优势;③ 为新能源发电系统中逆变器的先进控制策略设计提供理论依据与仿真范例。; 阅读建议:此资源侧重于控制算法的建模与仿真验证,建议读者结合Simulink模型深入分析控制逻辑,重点关注预测模型建立、代价函数设计及仿真结果对比,以全面掌握FCS-MPC在实际并网系统中的应用要点。

320

社区成员

发帖
与我相关
我的任务
社区描述
主要用于技术交流,包括但不限于 .net,mssql,js,css,python,算法,运维。也可以晒最新技术,美图,运动等。最后,如果有问题,可以提问,老顾能帮忙的会尽量帮忙哦。
前端sqlserverasp.net 技术论坛(原bbs) 北京·西城区
社区管理员
  • 文盲老顾
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧