zoukankan      html  css  js  c++  java
  • hdu 1753 坑爹的高精度

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1753

    wa了N次,惭愧啊

    View Code
      1 #include<iostream>
      2 #include<string>
      3 #include<cstring>
      4 const int N=1000;
      5 using namespace std;
      6 int num[N];
      7 
      8 int main(){
      9     string str1,str2;
     10     while(cin>>str1>>str2){
     11         string s1[2],s2[2],s3,s,s4;
     12         int i=0,j=0,k=0,temp=0;
     13         while((str1[i]!='.'&&i<str1.size())||(str2[j]!='.'&&j<str2.size())){
     14             if(str1[i]!='.'&&i<str1.size()){
     15                 s1[0]+=str1[i];
     16                 i++;
     17             }else if(str2[j]!='.'&&j<str2.size()){
     18                 s1[1]+=str2[j];
     19                 j++;
     20             }
     21         }
     22         i++,j++;
     23         while(i<str1.size()||j<str2.size()){
     24             if(i<str1.size()){
     25                 s2[0]+=str1[i];
     26                 i++;
     27             }else if(j<str2.size()){
     28                 s2[1]+=str2[j];
     29                 j++;
     30             }
     31         }
     32         memset(num,0,sizeof(num));
     33         int len1=s2[0].size()-1;
     34         int len2=s2[1].size()-1;
     35         if(len1==-1){
     36             s=s2[1];
     37         }else if(len2==-1){
     38             s=s2[0];
     39         }else {
     40             int len=len1<len2?len1:len2;
     41             for(i=len,j=len,k=0;i>=0&&j>=0;i--,j--){
     42                 temp+=s2[0][i]+s2[1][j]-96;
     43                 num[k++]=temp%10;
     44                 temp/=10;
     45                 num[k]=temp;
     46             }
     47             while(i>=0){
     48                 temp+=s2[0][i--]-48;
     49                 num[k++]=temp%10;
     50                 temp/=10;
     51                 num[k]=temp;
     52             }
     53             while(j>=0){
     54                 temp+=s2[1][j--]-48;
     55                 num[k++]=temp%10;
     56                 temp/=10;
     57                 num[k]=temp;
     58             }
     59             while(k>=0&&k>len&&num[k]==0)k--;
     60             if(temp)k--;
     61             while(k>=0){
     62                 s+=num[k--]+48;
     63             }
     64             for(i=len+1;i<=len1;i++){
     65                 s+=s2[0][i];
     66             }
     67             for(i=len+1;i<=len2;i++){
     68                 s+=s2[1][i];
     69             }
     70         }
     71         i=s.size()-1;
     72         while(i>=0&&s[i]=='0')i--;
     73         if(i<0)s4="";
     74         else {
     75             for(k=0;k<=i;k++){
     76                 s4+=s[k];
     77             }
     78         }
     79         memset(num,0,sizeof(num));
     80         len1=s1[0].size(),len2=s1[1].size();
     81         k=0;
     82         for(i=len1-1,j=len2-1;i>=0&&j>=0;i--,j--){
     83             temp+=s1[0][i]+s1[1][j]-96;
     84             num[k++]=temp%10;
     85             temp/=10;
     86             num[k]=temp;
     87         }
     88         while(i>=0){
     89             temp+=s1[0][i--]-48;
     90             num[k++]=temp%10;
     91             temp/=10;
     92             num[k]=temp;
     93         }
     94         while(j>=0){
     95             temp+=s1[1][j--]-48;
     96             num[k++]=temp%10;
     97             temp/=10;
     98             num[k]=temp;
     99         }
    100         while(k>=0&&num[k]==0)k--;
    101         while(k>=0){
    102             s3+=num[k--]+48;
    103         }
    104         if(s3.size()==0)s3="0";
    105         if(s4.size()){
    106             cout<<s3<<"."<<s4<<endl;
    107         }else 
    108             cout<<s3<<endl;
    109     }
    110     return 0;
    111 }
  • 相关阅读:
    Apache-Shiro分布式环境配置(与redis集成)(转)
    springboot整合mybatis将sql打印到日志(转)
    springboot中logback打印日志(转)
    Spring Boot Junit单元测试
    玩转Spring Boot 自定义配置、导入XML配置与外部化配置
    Windows开机自启动位置
    木马开机启动的六种方法(记录)
    用Delphi开发视频聊天软件
    Delphi用Socket API实现路由追踪
    前端工程师应该都了解的16个最受欢迎的CSS框架
  • 原文地址:https://www.cnblogs.com/wally/p/2938063.html
Copyright © 2011-2022 走看看