首页 > 其他分享 >高精度乘一位整数

高精度乘一位整数

时间:2023-04-27 10:48:10浏览次数:35  
标签:201 cout 高精度 int 样例 整数 一位 include

求高精度数的n倍

【问题描述】

  定义一个高精度数a,输出a的n(0<=n<=9 )倍的值。a的长度不超过200.

【输入输出描述】

  输入: 两行,第一行为高精度数a,第二行为倍数n; 输出: a的n倍的值

【样例输入】

  12234444555666777 3

【样例输出】

  36703333667000331

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

int main()
{
    char a[201];
    int a2[201]={}, b, c[202]={};
    cin >> a >> b;
    if(b==0) 
    {
        cout << 0;
        return 0;
    }
    int lena = strlen(a);
    // 1. 倒序取整; 
    for(int i=0; i<=lena-1; i++)
    {
        a2[lena-i] = a[i] - 48;
    }
    // 2. 高精*个位数:处理进位。 
    int jw=0, i;
    for(i=1; i<=lena; i++)
    {
        int t = a2[i]*b + jw;
        jw = t/10;
        c[i] = t%10;
    } 
    // 3. 处理最高位(去零); 
    if(jw!=0)  cout << jw;
    // 4. 输出
    for(int j=i-1; j>=1; j--)
    {
        cout << c[j];    
    } 
    return 0;
}

 

标签:201,cout,高精度,int,样例,整数,一位,include
From: https://www.cnblogs.com/dks0313/p/17358240.html

相关文章

  • 高精度四则及GCD运算(二元均是高精度)
    原代码出处,转自HDAWN,经过部分改写,包装为结构体,常数比较大.测试输出大概实际操作具体支持四则运算及GCD运算,重写了istream和ostream和比较运算符.构造函数既可以longlong,string,也可以char[]如果除法要求余数,a/b=c,a-b*c=res,除了这样绕一......
  • PTA1006 换个格式输出整数(C++)
    一、问题描述:让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过3位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。输入格式:每个测试输入包含1个测......
  • AcWing 242. 一个简单的整数问题 / 树状数组区间修改区间查询模板题
    AcWing242.一个简单的整数问题//实例化是抽象的天敌,是抽象的克星//通过公式sn=(i从1~n求积)di*(1+n)-(i从1~n求积)i*di//来计算前缀和,又(i从1~n求积)i*di不能由(i从1~n求积)di*(1+n)推出//所以除了维护d数组,还需维护......
  • Python计算 x 的整数 n 次幂函数
    Python实现pow(x,n),即计算x的整数n次幂函数(即,xn)。defmyPow(self,x:float,n:int)->float:ifx==0:return0res=1ifn<0:x,n=1/x,-nwhilen:ifn&1:res*=xx*=xn>>=1......
  • 高精度模板 大数减大数 可变数组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;......
  • 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......
  • 将集合中的某一条数据添加到首位或者最后一位
    直接上代码publicstaticvoidmain(String[]args){List<Customer>addressList=newArrayList<>();Customerc1=newCustomer();c1.setId("1");c1.setName("ckf");addressList.add(c1);......
  • leetcode343. 整数拆分
    classSolution{public:intf[60];//f[i]记录i能拆出的最大乘积intintegerBreak(intn){for(inti=2;i<=n;i++)for(intj=1;j<i;j++)//枚举最后一个拆出的数字,这里不能只循环到i/2f[i]=max(f[i],max(j*f[i-j],j*(i-j)));......
  • 2022-04-23:给定你一个整数数组 nums 我们要将 nums 数组中的每个元素移动到 A 集合 或
    2022-04-23:给定你一个整数数组nums我们要将nums数组中的每个元素移动到A集合或者B集合中使得A集合和B集合不为空,并且average(A)==average(B)如果可以完成则返回true,否则返回false。注意:对于数组arr,average(arr)是arr的所有元素的和除以arr长度。输入......