首页 > 其他分享 >高精度 系列 未完善

高精度 系列 未完善

时间:2024-07-25 18:51:24浏览次数:6  
标签:tmp 完善 系列 cur 高精度 cout ans size

高精度还么完善 会在8月份完成

A*BBBB

题目链接:

https://ac.nowcoder.com/acm/contest/87255/D

题意+分析:

给你两个很大的正数a 和 b,b的位数都是相同的, 需要计算
a * b,可以知道单纯的a * b对c++同志是万万不可的,但是
它的长度非常的大在1e6,如果单纯的使用普通的高精度的大数
乘法方法也是不行,那么我们需要通过已有条件得出一下信息

 Code:

#include<bits/stdc++.h>

using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
    cout << fixed << setprecision(15);  
    int t;
    cin >> t;  
    while (t--) {
        string a, b; // 长度1e6 
        cin >> a >> b;  
        string ans;
        reverse(a.begin(), a.end()); // 低位 -> 高位
        int cur = 0, tmp = 0; 
        for (int i = 0; i < a.size() + b.size(); i++) {
            if (i < a.size()) { // 累加a的每一位 
                cur += a[i] - '0';
            }
            if (i >= b.size()) { //减去不再参与的位 
                cur -= a[i - b.size()] - '0';
            } 
            tmp += cur * (b[0] - '0'); // 计算当前位的结果,并处理进位
            ans.push_back(tmp % 10 + '0'); // 取当前位的数字
            tmp /= 10; // 更新进位
        }   
        while (ans.size() > 1 && ans.back() == '0') { // 前导零速速滚蛋
            ans.pop_back();
        } 
        reverse(ans.begin(), ans.end()); // 高位 -> 地位
        cout << ans << '\n'; 
    }
    return 0;
}

  

标签:tmp,完善,系列,cur,高精度,cout,ans,size
From: https://www.cnblogs.com/youhualiuh/p/18322848

相关文章

  • Living-Dream 系列笔记 第65期
    HDU6567首先我们发现每棵树内部的距离已经固定,只有经过新边的路径才会产生贡献。又因为重心到树上所有节点的距离和最小,所以我们连接两树重心。然后我们想到一个经典套路:计算距离可以不枚举点,只枚举边。于是我们枚举每条边,计算出它们各自被经过的次数,再求和即为答案。维护\(......
  • 深入探索SemiDrive E3系列的MCU SSDK
    SemiDriveE3 系列MCUSSDK :XIP模式一、 前言本文介绍基于SSDK3.0调试XIP运行模式。硬件平台:芯驰E3_LQFP176_E3200_A03_048开发板软件平台:SemiDriveSSDK3.0二、 模式简介SFCore的程序XIP运行在FLASH上,XIP程序启动前,需先在IRAM中运行SFCore......
  • 一文搞懂系列——PEM文件解析流程
    背景前几周,协助同事解决了SM2软签名的需求,其流程可参考终于解决了!!!基于GmSSL的SM2签名算法及思路分享。但是在解决这个问题的过程中,让我想起了一些不好的回忆:曾经在大众项目中,也接触过椭圆曲线算法签名。其中因为平台下发的公钥格式,由于双方理解不一致,导致最终调试很久,并......
  • 『vulnhub系列』FUNBOX LUNCHBREAKER
    『vulnhub系列』FUNBOX:LUNCHBREAKER下载地址:https://www.vulnhub.com/entry/funbox-lunchbreaker,700/信息搜集:寻找内网存活主机nmap192.168.199.*访问80端口,只发现一张图片进行目录爆破,发现/robots.txtdirsearch-u"http://192.168.199.134/"访问/robots.txt......
  • 【攻防技术系列+WebShell】检测方式
    一、简介攻击者在入侵企业网站时,通常要通过各种方式获取webshell从而获得企业网站的控制权,然后方便进行之后的入侵行为。常见攻击方式有:直接上传获取webshell、SQL注入、远程文件包含(RFI)、FTP,甚至使用跨站点脚本(XSS)作为攻击的一部分,甚至一些比较老旧的方法利用后台数据库备......
  • 【网站开发系列】SDL checklist
    前言SDL的前期阶段包含了需求分析和设计阶段,这个阶段有不少沟通工作,项目经理、产品经理甚至需求方都可能会涉及,在梳理各开发条线的项目情况后,需要给出相应的建议。在这里,一份Checklist可能会很有帮助。美的金融科技就发布了一个金融科技SDL安全设计Checklist,内容涵盖输入验证、......
  • CTFHub技能树 Web-SSRF系列通过全技巧(已完结)
    1.内网访问url后面输入http://127.0.0.1/flag.php,得到Flag2.伪协议读取文件url后面输入file:///var/www/html/flag.php,然后右击页面查看页面源代码,得到Flag3.端口扫描第一步:在url后面输入http://127.0.0.1:5000,对本页面抓包,右击抓包界面,发送到Intruder第二......
  • 4、内存品牌分类介绍(金士顿) - 计算机硬件品牌系列文章
    金士顿科技是全球最大的存储产品制造商之一,‌成立于1987年,‌由杜纪川和孙大卫创立。‌金士顿的产品线涵盖了超过2000种内存产品,‌包括但不限于小型机、‌工作站、‌服务器、‌激光打印机、‌数码相机、‌笔记本等,‌并与世界知名品牌厂商如HP、‌DELL、‌IBM、‌SUN、‌APPLE......
  • 达梦数据库系列—31. 事务和锁
    目录事务事务的状态事务的四种隔离级别ACID锁锁粒度锁等待与死锁锁查看锁处理事务数据库事务是指作为单个逻辑工作单元的一系列操作的集合。事务的状态NOT_START未启动ACTIVE活动LOCK_WAIT锁等待TRX4_PRE_COMMIT预提交事务ID(事务号):每个事务......
  • 达梦数据库系列—32.多版本并发控制MVCC
            在多版本控制以前,数据库仅通过锁机制来实现并发控制。数据库对读操作上共享锁,写操作上排他锁,这种锁机制虽然解决了并发问题,但影响了并发性。        DM数据库基于物理记录和回滚记录实现行级多版本支持,数据页中只保留物理记录的最新版本,通过回滚记录......