• 【高精度】采购员的烦恼


    问题 K: 【高精度】采购员的烦恼

    时间限制: 1 Sec  内存限制: 64 MB
    提交: 4  解决: 4
    [提交] [状态] [讨论版] [命题人:外部导入]

    题目描述

    电器厂最近赶制一批电器,需要大量采购原材料,各个车间均根据生产需要向采购组递交需求清单。由于数量宠大,采购员无法准确算出购买所有原材料的总金额。请你编写一个程序,帮助采购员算出购买所有原材料的总金额。

    输入

    第1行是原材料种数n(1≤n≤10000),接下来有n×2行,每两行分别代表某材料的数量sl(1≤sl≤10^100)及单价x(1≤x≤1000),即文件第2行是第一种原材料的数量,第3行是第一种原材料的单价,依次类推。

    输出

    购买所有原材料的总金额。

    样例输入

    2
    1234567735456
    256
    48746465463
    986
    

    样例输出

    364113355223254
    高精度的加法运算与高精度乘以单精度的结合
     1 #include <iostream>
     2 #include<string>
     3 #include<algorithm>
     4 using namespace std;
     5 string fun_plus(string s,string t)
     6 {
     7     string ans;
     8     int a[1000]={0},b[1000]={0};
     9     int len1=s.size(),len2=t.size();
    10     int len=max(len1,len2);
    11     for(int i=len1-1;i>=0;i--)  a[len1-i-1]=s[i]-'0';
    12     for(int i=len2-1;i>=0;i--)  b[len2-i-1]=t[i]-'0';
    13     for(int i=0;i<len;i++)
    14     {
    15         a[i]+=b[i];
    16         a[i+1]+=a[i]/10;
    17         a[i]%=10;
    18     }
    19     if(a[len])  len++;
    20     for(int i=len-1;i>=0;i--)
    21         ans+=a[i]+'0';
    22     return ans;
    23 }
    24 string fun_multi(string s,int n)
    25 {
    26     string ans;
    27     int len=s.size(),a[200]={0};
    28     for(int i=len-1;i>=0;i--)   a[len-i-1]=s[i]-'0';
    29     int w=0;
    30     for(int i=0;i<len;i++)
    31     {
    32         a[i]=a[i]*n+w;
    33         w=a[i]/10;
    34         a[i]%=10;
    35     }
    36     while(w)    a[len++]=w%10,w/=10;
    37     for(int i=len-1;i>=0;i--)
    38         ans+=a[i]+'0';
    39     return ans;
    40 }
    41 int n,x;
    42 string s;
    43 int main()
    44 {
    45     cin>>n;
    46     string ans,temp;
    47     while(n--)
    48     {
    49         cin>>s>>x;
    50         temp=fun_multi(s,x);
    51         ans=fun_plus(temp,ans);
    52     }
    53     cout<<ans<<endl;
    54     return 0;
    55 }
    View Code
    如有错误,请指正,感谢!
  • 相关阅读:
    Elasticsearch:用户安全设置
    Elasticsearch:significant terms aggregation
    Elastic:Elastic部署架构介绍
    Elasticsearch:Smart Chinese Analysis plugin
    Elasticsearch:ICU分词器介绍
    新版本中的hits.total匹配数说明
    Elasticsearch:fuzzy 搜索 (模糊搜索)
    Elasticsearch:运用search_after来进行深度分页
    Elasticsearch:运用scroll接口对大量数据实现更好的分页
    Elasticsearch:search template
  • 原文地址:https://www.cnblogs.com/scott527407973/p/9319799.html
Copyright © 2020-2023  润新知