zoukankan      html  css  js  c++  java
  • HDU1095 A hard puzzle

    题目描述:

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

    题目分析:我们只需要求a^b的最后一位,显然由于a和b太大,只能找规律。

    题目转化:1.最后一位即个位,那我们不妨将a mod  10,因为只有a的最后一位在起作用;

                   2.若我们将a再乘b下,肯定还是超时;必然还要继续找规律;显然剩下的a只有10种情况,那我们为什麽不一一列举了?事实证明:它们具有周期性,简单吧。(没事写写水题也不错。)

    代码:

    View Code
     1 #include"stdio.h"
     2 int main()
     3 {
     4     int a,b;
     5     while(scanf("%d%d",&a,&b)!=EOF)
     6     {
     7          int s=1;
     8          a%=10;
     9          if(a==0||a==1||a==5||a==6)  s=a;
    10          else if(a==2)
    11          {
    12            b%=4;
    13            if(b==0) s=6;
    14            else if(b==1) s=2;
    15            else if(b==2) s=4;
    16            else  s=8;
    17          }
    18          else if(a==3)
    19          {
    20             b%=4;
    21             if(b==0) ;
    22             else if(b==1)  s=3;
    23             else if(b==2)  s=9;
    24             else if(b==3)  s=7;
    25          }
    26          else if(a==4)
    27          {
    28             b%=2;
    29             if(b==0)  s=6;
    30             else s=4;
    31          }
    32          else if(a==7)
    33          {
    34             b%=4;
    35             if(b==0) s=1;
    36             else if(b==1) s=7;
    37             else if(b==2) s=9;
    38             else s=3;
    39          }
    40          else if(a==8)
    41          {
    42             b%=4;
    43             if(b==0) s=6;
    44             else if(b==1)  s=8;
    45             else if(b==2)  s=4;
    46             else if(b==3)  s=2;
    47          }
    48          else
    49          {
    50             b%=2;
    51             if(b==0) ;
    52             else s=9;
    53          }
    54         printf("%d\n",s);
    55     }
    56 return 0;
    57 }

     2013-01-09    20:39:08

  • 相关阅读:
    软件工程实践2020_个人作业 —— 软件评测
    软件工程实践2020_结对第二次作业 —— 某次疫情统计可视化的实现
    最受欢迎的 Git 分支工作流
    结对编程作业
    软件案例分析作业
    个人项目
    个人博客作业1
    第一次作业-热身!
    面向对象第三单元
    电梯作业总结
  • 原文地址:https://www.cnblogs.com/YQH760/p/2853623.html
Copyright © 2011-2022 走看看