/ Vijos / 讨论 / 团队 /

c++

c++高精度减法

13 条评论

  • @ 2018-03-01 13:49:26
  • @ 2018-03-01 12:46:26
  • @ 2018-03-01 11:22:09

    落谷找筷子
    using namespace std;
    int a[10000020];

    int main()
    {
    long long i,j,k,l,n,max=0;
    cin>>n;
    for(i=1;i<=n;i++)
    {
    cin>>l;
    a[l]+=1;
    if(l>=max)
    max=l;
    }
    for(i=1;i<=max;i++)
    if(a[i]%2!=0)
    {cout<<i;break;}
    return 0;
    }

  • @ 2018-02-27 09:23:20

    洛谷 1179 数字统计

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    long long i,j,l,k,c,m=0,b;
    cin>>l>>k;
    for(i=l;i<=k;i++)
    {
    b=i;
    for(j=1; ;j++)
    {
    c=b%10;
    b=b/10;
    if(c==2)
    m++;
    if(b<=0)
    break;
    }
    }
    cout<<m;
    return 0;
    }

  • @ 2018-02-27 09:18:13

    #include<bits/stdc++.h>
    using namespace std;
    long long gys(long long a,long long b)
    {
    long long i;
    for(i=b;i>=1;i--)
    {
    if((a%i==0)&&(b%i==0))
    {
    return i;
    break;
    }
    }
    }
    int main()
    {
    long long a,b,c,t;
    cin>>a>>b>>c;
    if(a>b)
    {t=a;a=b;b=t;}
    if(a>c)
    {t=a;a=c;c=t;}
    if(c<b)
    {t=c;c=b;b=t;}
    t=gys(a,c);
    a=a/t;
    c=c/t;
    cout<<a<<"/"<<c;
    return 0;
    }

  • @ 2018-02-27 09:18:07

    洛谷1888 三角函数

  • @ 2018-02-27 09:17:19

    洛谷1420 最长连号

    #include<bits/stdc++.h>
    using namespace std;
    int s[10005];
    int main()
    {
    int i,n,m=1,k,l,b,c,a,max=0;
    cin>>n;
    for(i=1;i<=n;i++)
    cin>>s[i];
    for(i=1;i<=n;i++)
    {
    if((s[i]+1)==s[i+1])
    {m=m+1;continue;}
    else
    {
    if(m>max)
    max=m;
    m=1;
    }

    }
    cout<<max;
    return 0;
    }

  • @ 2018-02-27 09:16:22

    洛谷1151 子数整数

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    int k,i,j,n,m=0,c,sub1,sub2,sub3;
    cin>>k;
    for(i=10000;i<=30000;i++)
    {
    sub1=i/100;
    if(sub1%k!=0)
    continue;
    sub2=(i%10000)/10;
    if(sub2%k!=0)
    continue;
    sub3=i%1000;
    if(sub3%k!=0)
    continue;
    m=1;
    cout<<i<<endl;
    }
    if(m==0)
    cout<<"No"<<endl;
    return 0;
    }

  • @ 2018-02-27 09:14:39

    #include <bits/stdc++.h>
    using namespace std;
    int main(){
    unsigned long long s=1,i,x,m;
    cin>>x>>m;
    for(i=1;i<=m;i++) s+=x*s;
    cout<<s;
    return 0;
    }

  • @ 2018-02-27 09:08:57

    洛谷1643《禽兽的传染病》

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    unsigned long long i,j,k,n,m=1,x;
    cin>>x>>n;
    for(i=1;i<=n;i++)
    m=m*x+m;
    cout<<m;
    return 0;}

  • @ 2018-02-26 16:11:47

    高精度计算器(仅支持加减乘)

    #include<bits/stdc++.h>
    using namespace std;
    char ma[999],mb[999];
    int a[999],b[999],c[999];
    void jia(int max=max(a[0],b[0]))
    {
    int i;
    for(i=1;i<=max;i++){
    c[i]=c[i]+a[i]+b[i];
    if(c[i]>=10)
    {c[i+1]=c[i+1]+1;c[i]=c[i]%10;}
    }
    c[0]=max;
    if(c[c[0]+1]!=0)
    c[0]+=1;
    for(i=c[0];i>=1;i--)
    cout<<c[i];
    }
    void jian()
    {
    int i;
    if(a[0]<b[0]||(a[0]==b[0])&&strcmp(ma,mb)<0)
    {cout<<"-";swap(a,b);}
    for(i=1;i<=a[0];i++){
    c[i]=a[i]-b[i]+c[i];
    if(c[i]<0)
    {c[i]=c[i]+10;c[i+1]=c[i+1]-1;}
    }
    c[0]=a[0];
    for(i=c[0];i>=1;i--)
    if(c[i]!=0)
    break;
    for(i;i>=1;i--)
    cout<<c[i];
    }
    void cheng(int max=max(a[0],b[0]))
    {
    int i,j,min;
    c[0]=max;
    if(b[0]<a[0])
    swap(a,b);
    min=a[0];
    for(i=1;i<=max;i++){
    for(j=1;j<=min;j++){
    c[j-1+i]=c[j-1+i]+a[j]*b[i];
    if(c[j-1+i]>=10)
    {c[j+i]=c[j+i]+c[j-1+i]/10;c[j-1+i]=c[j-1+i]%10;}
    }
    }
    for(i=max+1; ;i++)
    if(c[i]!=0)
    c[0]+=1;
    else
    break;
    for(i=c[0];i>=1;i--)
    cout<<c[i];
    }
    int main()
    {
    int i,n,m,lena,lenb,lenc,j;
    char k;//运算符
    scanf("%s",ma);
    cin>>k;
    scanf("%s",mb);
    lena=strlen(ma),lenb=strlen(mb);
    for(i=1;i<=lena;i++)
    a[i]=ma[lena-i]-'0';
    a[0]=lena;
    for(i=1;i<=lenb;i++)
    b[i]=mb[lenb-i]-'0';
    b[0]=lenb;
    if(k=='+')
    jia();
    if(k=='-')
    jian();
    if(k=='*')
    cheng();
    return 0;
    }

  • @ 2018-02-26 15:41:10

    :~!

  • @ 2018-02-26 15:40:12

    #include<bits/stdc++.h>
    using namespace std;
    char ma[99999],mb[99999];
    int a[99999],b[99999],c[99999];
    void jian()
    {
    int i;
    if(a[0]<b[0]||(a[0]==b[0])&&strcmp(ma,mb)<0)
    {cout<<"-";swap(a,b);}
    for(i=1;i<=a[0];i++){
    c[i]=a[i]-b[i]+c[i];
    if(c[i]<0)
    {c[i]=c[i]+10;c[i+1]=c[i+1]-1;}
    }
    c[0]=a[0];
    for(i=c[0];i>=1;i--)
    if(c[i]!=0)
    break;
    if(i==0)
    cout<<"0";
    for(i;i>=1;i--)
    cout<<c[i];

    }
    int main()
    {
    int i,n,m,lena,lenb,lenc,j;
    gets(ma);
    gets(mb);
    lena=strlen(ma),lenb=strlen(mb);
    for(i=1;i<=lena;i++)
    a[i]=ma[lena-i]-'0';
    a[0]=lena;
    for(i=1;i<=lenb;i++)
    b[i]=mb[lenb-i]-'0';
    b[0]=lenb;
    jian();
    return 0;
    }

  • 1