zoukankan      html  css  js  c++  java
  • 高精度乘法(高精乘以低精)

     1 #include<bits/stdc++.h>
     2 
     3 using namespace std;
     4 
     5 const int N = 1e5+5;
     6 
     7 char a[N];
     8 
     9 struct bign{
    10     int d[N];
    11     int len;
    12     bign(){
    13         memset(d,0,sizeof(d));
    14         len = 0;
    15     }
    16 };
    17 
    18 bign change(char *a){
    19     bign c;
    20     int len = strlen(a);
    21     c.len = len;
    22     for(int i=0; i<len; i++){
    23         c.d[i] = a[len - i - 1] - '0';
    24     }
    25     return c;
    26 }
    27 
    28 bign multi(bign a,int k){
    29     bign c;
    30     int carry = 0;
    31     for(int i=0; i<a.len; i++){
    32         int temp = a.d[i] * k + carry;
    33         c.d[c.len++] = temp % 10;
    34         carry = temp / 10;
    35     }
    36     while(carry != 0){
    37         c.d[c.len++] = carry % 10;
    38         carry /= 10;
    39     }
    40     return c;
    41 }
    42 
    43 void print(bign c){
    44     for(int i=c.len - 1; i>=0; i--){
    45         printf("%d",c.d[i]);
    46     }
    47 }
    48 
    49 int main(){
    50     int k;
    51     scanf("%s%d",a,&k);
    52     bign v = change(a);
    53     print(multi(v,k));
    54     return 0;
    55 }
  • 相关阅读:
    数据库
    Activity组件
    view,视图组件
    360导航板式
    service音乐播放
    service
    音乐播放器组件
    获取时间字符串
    JDK服务器存储
    数据库_黑名单练习_完善服务广播
  • 原文地址:https://www.cnblogs.com/zhangqiling/p/12452403.html
Copyright © 2011-2022 走看看