首页 > 其他分享 >【洛谷P1303】高精度乘法

【洛谷P1303】高精度乘法

时间:2025-01-17 22:33:14浏览次数:1  
标签:洛谷 非负 int 高精度 样例 整数 P1303 乘法

A*B Problem

题目背景

高精度乘法模板题。

题目描述

给出两个非负整数,求它们的乘积。

输入格式

输入共两行,每行一个非负整数。

输出格式

输出一个非负整数表示乘积。

样例 #1

样例输入 #1

1 
2

样例输出 #1

2

提示

每个非负整数不超过 10^{2000}。

入坑OI这么久 发现还没有写过高精乘高精的题目
于是今天就来写一下啦
思路就是用小学时就学过的列竖式思想
注意一下输入输出和前导零就行
不打注释了喵

#include<bits/stdc++.h>
#define ll long long
using namespace std;
string a,b;
int k[2005],n[2005];
int num[200005];
int main(){
    cin>>a>>b;
    int l=a.length(),m=b.length();
    for(int i=1;i<=l;i++){
        k[i]=a[l-i]-'0';
    }
    for(int i=1;i<=m;i++){
        n[i]=b[m-i]-'0';
    }
    int x=l+m-1;
    for(int i=1;i<=l;i++){
        for(int j=1;j<=m;j++){
            num[i+j-1]+=k[i]*n[j];
            num[i+j]+=num[i+j-1]/10;
            num[i+j-1]%=10;
        }
    }//采用列竖式的思想
    int flag=0;
    for(int i=1;i<=l+m;i++){
        if(num[i]){
            flag=1;
            break;
        }
    }
    if(flag==0){
        cout<<0;
        system("pause");
        return 0;
    }
    if(num[x+1]>=1) x++;
    while(num[x]==0&&x>=2) --x;
    for(int i=x;i>=1;i--){
        cout<<num[i];
    } 
    system("pause");
    return 0;
}

  

标签:洛谷,非负,int,高精度,样例,整数,P1303,乘法
From: https://www.cnblogs.com/namelessstory/p/18677751

相关文章

  • 【洛谷训练记录】【LGR-213-Div.4】洛谷入门赛 #31
    训练情况赛后反思模拟题差点红温,差一道字符串模拟题AKA题问一个数\(a\)加多少后的个位数变成\(b\),取出\(a\)的个位数,再用\(b\)去减,如果小于零答案再加十。#include<bits/stdc++.h>//#defineintlonglong#defineendl'\n'usingnamespacestd;voidsolve()......
  • 洛谷P1803
    凌乱的yyy/线段覆盖-洛谷代码区:#include<stdio.h>#include<stdlib.h>structGAME{ intstart; intend;};intcmp(constvoid*a,constvoid*b){ structGAME*game1=(structGAME*)a; structGAME*game2=(structGAME*)b; returngame1->end-game2->......
  • Python九九乘法表(for循环和while循环)
    运行结果样例:for循环:foriinrange(1,10):forjinrange(1,i+1):print(f"{i}*{j}={i*j}\t",end='')print()具体解释如下:这是一个嵌套的 for 循环。对于 i 的每一个值,都有一个新的 for 循环。range(1,i+1) 创建了一个新的整数序列,该序列从1......
  • 洛谷题单指南-线段树的进阶用法-P3168 [CQOI2015] 任务查询系统
    原题链接:https://www.luogu.com.cn/problem/P3168题意解读:一个任务管理系统,能够查询在某个时间点运行的任务中优先级最小的k个任务的优先级之和。解题思路:由于总时间n不超过100000,考虑针对所有时刻建立可持久化线段树,根节点为root[i]的线段树维护时刻i的任务情况,节点区间表示......
  • 洛谷题单指南-线段树的进阶用法-P2617 Dynamic Rankings
    原题链接:https://www.luogu.com.cn/problem/P2617题意解读:动态求区间第k小问题。解题思路:树套树的典型应用,具体阐述参考:https://www.cnblogs.com/jcwy/p/18640914100分代码:#include<bits/stdc++.h>usingnamespacestd;constintN=100005;structOp{charop;......
  • 每日一题洛谷P5726 【深基4.习9】打分C++
    #include<iostream>#include<iomanip>usingnamespacestd;intmain(){ intn; cin>>n; intstr[1000]={0}; intmax=0; intmin=10; for(inti=0;i<n;i++){ cin>>str[i]; if(str[i]>max){ max=str[i......
  • 洛谷P1319
    压缩技术-洛谷代码区:#输入lst=list(map(int,input().split()))#n的值n=lst[0]#lists全部初始化为0lists=[0]*(n**2)lst=lst[1:]#索引index=-1foriinrange(len(lst)):#下标为奇数的索引直接加上ifi%2==0:index+=lst[i]#下标为奇数......
  • 洛谷 P8469 [Aya Round 1 D] 文文的数学游戏 C语言
    题目:P8469[AyaRound1D]文文的数学游戏-洛谷|计算机科学教育新生态题目背景在解决了上一题之后,琪露诺觉得自己仿佛就是天才。于是,射命丸文又给了她一道简单的数学题。题目描述给定长度为 n 的整数序列 a,你需要构造一个长度为 n 的整数序列 b 满足对于所有......
  • gesp(C++五级)(5)洛谷:B3929:[GESP202312 五级] 小杨的幸运数
    gesp(C++五级)(5)洛谷:B3929:[GESP202312五级]小杨的幸运数题目描述小杨认为,所有大于等于aaa的完全平方数都是他的超级幸运数。小杨还认为,所有超级幸运数的倍数都是他......
  • gesp(C++五级)(6)洛谷:B3930:[GESP202312 五级] 烹饪问题
    gesp(C++五级)(6)洛谷:B3930:[GESP202312五级]烹饪问题题目描述有NNN种食材,编号从00......