您的位置:首页 > 其它

2042. 【2016.5.21普及组模拟】SuperPow

2016-07-09 07:54 106 查看


题目描述

众所周知,a^b表示a的b次幂。例如:2^3=2*2*2=8。

一天,某只肥皂很无聊,于是在纸上写了形如a^b的式子玩。FL见到了,过来一起玩。突然,FL脑洞一开:我给你普及一个符号“^^”,叫做超级幂。a^^b表示a^(a^(a^(a^a^(...)))),共b个a。例如2^^3=2^(2^2)=2^4=16。那么你知道a^^b的个位数是多少么?

肥皂表示一脸懵逼,于是一旁看热闹的YDL出现了,随手写了一个式子:(a1^^b1)*(a2^^b2)*(a3^^b3)........(an^^bn),保证ai的个位数不等于2或4或8。说,请求出这个式子的个位数。

肥皂和FL两脸懵逼。现在FL只好想你求助了。

注意:a^^0=1,表示有0个a,  例如: 3^^0=1

题解:

  有规律的,尾数不会出现2,4,8,而尾数是1,5.6.9就乘以尾数,只剩下3和7,自己推一推规律。

代码:

  var

  i,j,m,n,ans,x,y,z:longint;

begin

  readln(n);

  for i:=1 to n do

    begin

      ans:=1;

      readln(m);

      for j:=1 to m do

        begin

          read(x,y);

          z:=x mod 10;

          if y=0 then ans:=ans*1

          else

          if y=1 then

            ans:=ans*x mod 10

          else

          if (z=5)or(z=6)or(z=9) then

            ans:=ans*x mod 10

          else

          if z=3 then

            if x mod 4=1 then

              ans:=ans*3 mod 10

            else

              ans:=ans*7 mod 10

          else

          if z=7 then

            if x mod 4=1 then

              ans:=ans*7 mod 10

            else

              ans:=ans*3 mod 10;

         end;

      writeln(ans);

    end;

end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  2042