zoukankan      html  css  js  c++  java
  • BestCoder 2nd Anniversary 1001 Oracle

    找到最小的非零数字拆开来相加。

    高精度。

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <cmath>
     5 #include <algorithm>
     6 using namespace std;
     7 #define LL long long
     8 char s[10000005];
     9 int a[10000005],b[10000005];
    10 int t,p;
    11 int main()
    12 {
    13     scanf("%d",&t);
    14     while(t--)
    15     {
    16         scanf("%s",s);
    17         int len=strlen(s);
    18         p=0;
    19         if(len==1)//只有一个数字,不符合 
    20         {
    21             puts("Uncertain"); continue;
    22         }
    23         for(int i=0;i<len;i++)
    24         {
    25             a[i]=s[i]-'0';
    26             if(a[i]!=0) p++;
    27         }
    28         if(p<=1)//非零数字不足两个,不符合 
    29         {
    30             puts("Uncertain"); continue;
    31         }
    32         sort(a,a+len);
    33         for(int i=0;i<len;i++)//找到最小的非零数字 
    34         {
    35             if(a[i]!=0)
    36             {
    37                 p=i; break;
    38             }
    39         }
    40         int j=0;
    41         for(int i=0;i<len;i++) 
    42         {
    43             if(i==p) continue;
    44             b[j++]=a[i];
    45         }
    46         b[0]+=a[p];//相加 
    47         b[j]=0;
    48         for(int i=0;i<j;i++)//高精度进位 
    49         {
    50             if(b[i]<10) break;
    51             b[i+1]+=b[i]/10;
    52             b[i]%=10;
    53         }
    54         if(b[j]>0) j++;
    55         for(int i=j-1;i>=0;i--)
    56             printf("%d",b[i]);
    57         puts("");
    58     }
    59 }
    我自倾杯,君且随意
  • 相关阅读:
    《DSP using MATLAB》Problem 6.4
    《DSP using MATLAB》Problem 6.3
    《DSP using MATLAB》Problem 6.1
    《DSP using MATLAB》Problem 5.38
    整除分块+取模
    尺取法(滑窗,双指针)
    uva247电话圈(floyd)
    uva1151并查集+最小生成树
    uva1395 苗条的生成树
    uva10562看图写树
  • 原文地址:https://www.cnblogs.com/nicetomeetu/p/5683217.html
Copyright © 2011-2022 走看看