zoukankan      html  css  js  c++  java
  • 人见人爱A^B

    Problem Description
    求A^B的最后三位数表示的整数。
    说明:A^B的含义是“A的B次方”
    
    Input
    输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理。
     
    
    Output
    对于每个测试实例,请输出A^B的最后三位表示的整数,每个输出占一行。
    
    
    Sample Input
    2 3
    12 6
    6789 10000
    0 0
     
    
    Sample Output
    8
    984
    1
     
    
    //
    #include<iostream>
    using  namespace std;
    int gcd(int n,int m)
    {
        int test,t,ans;
        test=m;
        n=n%1000;
        ans=1;
        while(test){
            if(test&1==1) ans=n*ans%1000;
            n=n*n%1000;
            test>>=1;
        }
        return ans;
    }
    int main()
    {
        int m,n;
        while(cin>>n>>m){
            if(m+n==0) break; 
            cout<<gcd(n,m)<<endl;
        }
        return 0;
    } 
    View Code

     主要是二分思想,

    //二分实现 
    #include<iostream>
    using namespace std;
    int gcd(int t){
        int s=1;
        int ans=0;
        while(t){
            if(t&1) ans+=s;
            s*=2;
            t>>=1;
        }
        return ans;
    }
    int main()
    {
        int m;
        cin>>m;
        cout<<gcd(m)<<endl;
    } 
    View Code

    小技巧  A^B互换位置

    #include<iostream>
    using namespace std;
    int main()
    {
    int a=1,b=2;
    a=a^b;
    b=b^a;
    a=a^b;
    cout<<a<<b<<endl;
    }

  • 相关阅读:
    浅析Json底层
    浅析servlet
    xml树结构
    JS中BOM和DOM之间的关系
    Test openLiveWriter
    JAVA静态代理动态代理详解
    java多态实现示例
    java类中的变量以及方法的执行顺序
    java值传递
    将javaweb项目部署到服务器中
  • 原文地址:https://www.cnblogs.com/helloworld2019/p/10451280.html
Copyright © 2011-2022 走看看