首页 > 其他分享 >高精度乘多位低精度

高精度乘多位低精度

时间:2023-04-29 12:11:40浏览次数:40  
标签:lenc 多位 201 高精度 int 精度 10

【题目描述】

  输入高精度数字a,再输入多位低精度数字b,计算a*b的乘积。

【输入】

  略

【输出】

  略

#include<iostream>
#include<cstring>
using namespace std;

int main()
{
    char a[201];
    int a2[201]={}, n, c[402]={}; 
    cin >> a >> n;
    int lena = strlen(a);
    for(int i=0; i<=lena-1; i++)
        a2[lena-i] = a[i] - '0';
    // 高精度*低精度。 
    int m, i=1; // m: 低精度数字的取余结果;i: 低精度数字第几位。 
    while(n>0)
    {
        m = n%10;
        n /= 10;
        int jw=0;
        for(int j=1; j<=lena; j++) // j:高精数字第几位。 
        {
            int temp = a2[j]*m+jw+c[i+j-1];
            jw = temp/10;
            c[i+j-1] = temp%10;
        }
        // 处理上述每次运算的最高位的进位。
        c[lena+i] = jw; 
        i++; 
    }
    // 去除前置0。
    /*
    int lenc = lena + i - 1;
    if(c[lenc]==0) lenc--;
    */
    int lenc = lena + i;
    while(c[lenc]==0 && lenc>1) 
        lenc--; 
    for(int i=lenc; i>=1; i--)
        cout << c[i]; 
    return 0;
} 

 

标签:lenc,多位,201,高精度,int,精度,10
From: https://www.cnblogs.com/dks0313/p/17363781.html

相关文章

  • 当 SQL Server(mssql-jdbc) 遇上 BigDecimal → 精度丢失,真坑!
    开心一刻中午和哥们一起喝茶哥们说道:晚上喝酒去啊我:不去,我女朋友过生日哥们瞪大眼睛看着我:你有病吧,充气的过什么生日我生气到:有特么生产日期的好吧需求背景系统对接了外部系统,调用外部系统的接口需要付费,一个接口一次调用付费0.03元同一个......
  • 高精度数相加乘一位数
    【问题描述】请编程实现,输入两个高精度数,输出它们的和的n倍。(1<=n<=9),注意:这两个高精度数的位数不一定相同且有可能产生进位。【输入输出描述】输入: 两行,第一行为高精度数a,第二行为高精度数b。输出: 一行,一个高精度数c,表示a与b的和的n倍。【样例......
  • 高精度乘一位整数
    求高精度数的n倍【问题描述】定义一个高精度数a,输出a的n(0<=n<=9)倍的值。a的长度不超过200.【输入输出描述】输入:两行,第一行为高精度数a,第二行为倍数n;输出:a的n倍的值【样例输入】122344445556667773【样例输出】36703333667000331#include<iost......
  • 高精度四则及GCD运算(二元均是高精度)
    原代码出处,转自HDAWN,经过部分改写,包装为结构体,常数比较大.测试输出大概实际操作具体支持四则运算及GCD运算,重写了istream和ostream和比较运算符.构造函数既可以longlong,string,也可以char[]如果除法要求余数,a/b=c,a-b*c=res,除了这样绕一......
  • double精度丢失问题
    字面量,目的:告诉程序员数据在程序中该怎么书写字面量分类,整数小数字符字符串布尔值空值变量作用:内存中的一块区域,里面立业存储一个数据,存储的数据可以变化格式:树木类型变量名称=初始值;......
  • 高精度模板 大数减大数 可变数组vector实现
    vector<int>Sub(vector<int>&A,vector<int>&B)//这里默认长数减去短数{vector<int>C;//结果向量intT=0;//上一位借位标志位for(inti=0;i<A.size();i++){T=A[i]-T;if(i<B.size())T-=B[i];//检......
  • 高精度模板 整数大数除以小整数数
    vector<int>Div(vector<int>&A,int&B){vector<int>C;intT=0;//除数for(inti=A.size()-1;i>=0;i--)//注意,除法模拟是从最高位开始的{T=T*10+A[i];//更新除数C.push_back(T/B);T%=B;......
  • 超越YOLOv8,飞桨推出精度最高的实时检测器RT-DETR!
    众所周知,实时目标检测(Real-TimeObjectDetection)一直由YOLO系列模型主导。飞桨在去年3月份推出了高精度通用目标检测模型PP-YOLOE,同年在PP-YOLOE的基础上提出了PP-YOLOE+。后者在训练收敛速度、下游任务泛化能力以及高性能部署能力方面均达到了很好的效果。而继PP-......
  • c如何输出高精度浮点型数
    环境:cygwin64的gcc (mingw64的gcc不行)intmain(intargc,charconst*argv[]){longdoubleld=1.23L;printf("1%Lf\n",ld);doubled=1.3456789123;printf("2%f\n",d);printf("3%lf\n",d);printf("4%ll......
  • 30m精度DEM数据下载镶嵌
    在研究中本来希望使用来自ALOS卫星12.5m精度的DEM高程,在实际下载过程中发现数据太老(2006-2011年)且研究区域需要4张图镶嵌,因此还是选择使用ASTERGDEM的30m分辨率数据。1.如果想使用ALOS数据,需要研究区域在2011年至今没有特别大的地形变化,下载地址如下(来自知乎Alos12.5米DEM免费......