zoukankan      html  css  js  c++  java
  • 【高精度】采购员的烦恼

    问题 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
    如有错误,请指正,感谢!
  • 相关阅读:
    Nginx配置SSL证书实现https访问及端口映射
    Nginx动静分离实现
    Nginx+Keepalived实现高可用部署
    Linux环境Nginx反向代理实现负载均衡
    Linux环境Nginx安装
    merlin矿池被攻击详情
    CVE-2021-26855 Exchange Server RCE
    C语言博客作业04--数组
    第四次作业
    SpringBoot集成多数据源-----基于数据库维护
  • 原文地址:https://www.cnblogs.com/scott527407973/p/9319799.html
Copyright © 2011-2022 走看看