zoukankan      html  css  js  c++  java
  • A+B问题的异常解法

    先%XZZ为敬

    http://www.cnblogs.com/xzz_233/p/a-plus-b-problem.html

    万恶之源:https://www.luogu.org/discuss/show?postid=22423
    洛谷上大佬云集,各种千奇百怪的A+B解法都有
    这里也整理一些

    1.只用一个变量跑A+B

    可以把一个long long拆成2个int
    你咋不用string呢
    用指针可完成
    代码蒯上

    #include<iostream>
    using namespace std;
    long long a;
    int main()
    {
        scanf("%d%d",(int*)(&a),(int*)(&a+1));
        printf("%d
    ",*((int*)&a)+*((int*)(&a+1)));
        return 0;
    }
    

    然而被某大佬教育用快读
    代码蒯上

    #include<iostream>
    using namespace std;
    int gotcha(){register int a=0;cin>>a;return a;}
    int main(){cout<<gotcha()+gotcha();}
    

    2.不用+-*/跑A+B

    用位运算
    又没说&|^~不能用!
    代码蒯上

    #include<iostream>
    using namespace std;
    int a,b,c;
    int main()
    {
        cin>>a>>b;
        while(a&b)c=a^b,b=(a&b)<<1,a=c;
        cout<<(a|b);
        return 0;
    }
    

    3.一行解决A+B

    入门缩行题

    int a,b;int main(){scanf("%d%d",&a,&b);printf("%d",a+b);}
    

    以后想到了新奇的做法继续更……


    Ps.为什么这文章阅读15了

  • 相关阅读:
    第三次上机练习
    第三次作业
    第二次上级练习
    第二次作业
    第一次上机练习
    第一次作业
    4.20
    4.16
    4.10
    4.9
  • 原文地址:https://www.cnblogs.com/finder-iot/p/7601824.html
Copyright © 2011-2022 走看看