首页 > 其他分享 >高精度/高精度

高精度/高精度

时间:2024-07-28 20:21:03浏览次数:13  
标签:高精度 int back else -- size

#include <bits/stdc++.h>
using namespace std;
int main(){
    string a,b;
    cin>>a>>b;
    vector<int> x,y;
    for(int i = a.size()-1;i>=0;i--){
        x.push_back(a[i]-'0');
    }
    for(int i = b.size()-1;i>=0;i--){
        y.push_back(b[i]-'0');
    }
    bool f = true;
    int j = 0,sum = 0;
    while(f){
        for(int i = 0;i<x.size();i++){
            if(i>=y.size()){
                y.push_back(0);
            }
            if(y[i]>x[i]){
                x[i+1] -= 1;
                x[i] += 10;
            }
            j = x[i]-y[i];
            x[i] = j;
            j /= 10;
        }
        if(x.size()>y.size()){
            f = true;    
        }else if(x.size()>y.size()){
            f = false;
        }else{
            for(int i = x.size()-1;i>=0;i--){
                if(x[i]>y[i]){
                    f = true;
                    break;
                }else if(y[i]>x[i]){
                    f = false;
                    break;
                }
            }
        }
        sum++;
    }
    cout<<sum<<" ";
    bool l = false;
    for(int i = x.size()-1;i>=0;i--){
        if(x[i]!=0 || l){
            cout<<x[i];
            l = true;
        }
    }
    return 0; 
}

 

标签:高精度,int,back,else,--,size
From: https://www.cnblogs.com/wangyihang-xh/p/18328794

相关文章

  • 高精度运算
    高精度运算高精度算法是一种模拟算法由于操作的对象为很大的数我们可以使用字符串字符串在C++有三种定义方式:chara[100];char*b;stringc;对于string,我们可以到oi-wiki进行查询高精度算法的本质是竖式运算为了使运算简单,我们使用vectorvector的定义为:vector<t......
  • 【基础算法】高精度算法
    高精度算法高精度加法模板:模板题+详解高精度减法模板:模板题+详解高精度乘法模板模板题+详解高精度除法模板模板题+详解计算机最初、也是最重要的应用就是数值运算。在编程进行数值运算时,有时会遇到运算的精度要求特别高,远远超过各种数据类型的精度范围;有时数......
  • 高精度 系列 未完善
    高精度还么完善会在8月份完成A*BBBB题目链接:https://ac.nowcoder.com/acm/contest/87255/D题意+分析:给你两个很大的正数a和b,b的位数都是相同的,需要计算a*b,可以知道单纯的a*b对c++同志是万万不可的,但是它的长度非常的大在1e6,如果单纯的使用普通的高精度的大数......
  • FFT 高精度乘法模板
    #defineL(x)(1<<(x))constdoublePI=acos(-1.0);constintN=1e7+10;doubleax[N],ay[N],bx[N],by[N];charsa[N/2],sb[N/2];intsum[N];intx1[N],x2[N];intrevv(intx,intbits){intret=0;for(inti=0;i<bits;i......
  • 探索绝对值码盘接口系列板卡:高精度测量与控制的关键组件
    天津拓航科技绝对值码盘卡在当今高度自动化和精密制造的时代,准确获取位置、角度和速度等信息对于许多工业和科技应用至关重要。绝对值码盘接口系列板卡作为实现这一目标的重要工具,正发挥着日益关键的作用。绝对值码盘接口系列板卡,顾名思义,是专门设计用于与绝对值码盘进行连接和......
  • 高精度算法
    加法includeusingnamespacestd;strings1,s2;inta[101],b[101],c[101];voidstrtoint(stringstr,intdes[]){for(inti=0;i<str.size();i++){des[str.size()-i]=str[i]-'0';}}intmain(){cin>>s1>>s2;strtoint(......
  • 高精度模板
    高精度模板structBigNum{intval[N],len=1;voidinit(){val[1]=len=1;}BigNumoperator+(constBigNum&x)const{staticBigNumt=*this;t.len=max(t.len,x.len);for(inti=1;i<=t.len;i++)t.val[......
  • 算法基础课第一章(中)高精度+前缀和+差分
    一、高精度(一)使用高精度的原因在计算机中处理非常大或非常小的数值时,确保计算结果的精确性和准确性。在特定情况下,可以自己实现高精度计算的数据结构和算法,例如使用字符串或数组来表示大数,并实现基本的加、减、乘、除操作。(二)高精度加法1、方法(1)描述:从最低位开始加法计算......
  • 高精度计算
    1.高精度乘法【题目描述】输入两个高精度正整数M和N(M和N均小于100位)。求这两个高精度数的积。【输入】输入两个高精度正整数M和N。【输出】求这两个高精度数的积。【输入样例】363【输出样例】108#include<iostream>#include<string>#include<cstring>usin......
  • (二十三)高精度运算
    文章目录一、前言二、正文2.1什么是高精度?2.2高精度加2.2.1理论2.2.2怎么敲代码?2.2.2.1存储两个数2.2.2.2倒序存入数组2.2.2.3开始计算2.2.2.4结果更改2.2.2.5最终代码2.3高精度减2.3.1理论2.3.2怎么敲代码?2.3.2.1存储2.3.2.2倒序存入数组2.3.2.3计算2......