zoukankan      html  css  js  c++  java
  • HDU 1097 a hard puzzle

    A hard puzzle

    Time Limit: 2000/1000 MS(Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 24457    Accepted Submission(s): 8676


    Problem Description

    lcy gives a hardpuzzle to feng5166,lwg,JGShining and Ignatius: gave a and b,how to know thea^b.everybody objects to this BT problem,so lcy makes the problem easier thanbegin.
    this puzzle describes that: gave a and b,how to know the a^b's the last digit number.Buteverybody is too lazy to slove this problem,so they remit to you who is wise.

     

     

    Input

    There are mutipletest cases. Each test cases consists of two numbers a and b(0<a,b<=2^30)

     

     

    Output

    For each testcase, you should output the a^b's last digit number.

     

     

    Sample Input

    7 66

    8 800

     

     

    Sample Output

    9

    6

     

    很容易发现 a^b 的规律,个位数每四个一循环,有的虽然周期是2,但是4个一定是一个周期。

    2: 2 4 8 16 32 64

    3: 3 9 27 81 243 729

    4: 4 16 64 256 1024

    另外,我开始没有发现题目说a ,b 都 大于零。

    因此,我的代码支持 0 ^ 0 =1(貌似在哪见过), 0 ^ 1=0 , 1 ^ 0=1;  

     

    #include "string"
    #include "iostream"
    
    using namespace std;
    
    int main(  )
    {int m,n,s,i,tem;
      
      while(cin>>m>>n)
      {
      if( m==1||n==0 )
        s=1;
      else if( m%10==0 )
        s=0;
      else if( n==1 )
        s=m%10;
      else{ tem=1;
            m=m%10;//只保留个位数
    	if( n%4==0 )
      {
    	tem=m*m*m*m;
    	}
    else
        for( i=0;i<n%4;i++ )   
          tem*=m;
        s=tem%10;
      }
     
        cout<<s<<endl; 
      }
    
      return 0;
    }
    



  • 相关阅读:
    [HAOI2015]树上染色 [树形dp]
    【luogu1052】 过河 [动态规划]
    【luogu4819】 [中山市选]杀人游戏 [tarjan 缩点]
    【luogu4185】 [USACO18JAN]MooTube [并查集]
    [国家集训队]墨墨的等式 [差分约束]
    【RMQ】
    [USACO05DEC] 布局 [差分约束]
    [SCOI2011]糖果 [差分约束]
    【POJ 1201】Intervals
    【luogu1993】 小K的农场 [差分约束]
  • 原文地址:https://www.cnblogs.com/slankka/p/9158616.html
Copyright © 2011-2022 走看看