Gift (Standard IO)

输入的第一行为一个整数t。
  接下来t行,每行包含九个自然数。
Output
  输出t行
  每行一个整数,表示2^a+2^b+2^c+2^d+2^e+2^f+2^g+2^h+i。













题解:

快速幂,但最大值比qword刚好大1,所以要打一个点,哥就死在这上面。


代码:

function mi(x:int64):int64;
begin
  if x=1 then exit(2);
  if x=0 then exit(1);
  if x mod 2=0 then
  exit(sqr(mi(x div 2)))
  else
  exit(sqr(mi(x div 2))*mi(1));
end;
var
  n,a,b,c,d,e,f,g,h,j:longint;
  i,sum:qword;
begin
  readln(n);
  for j:=1 to n do
    begin
      sum:=0;
      readln(a,b,c,d,e,f,g,h,i);
      if (a=60)and(b=60)and(c=60)and(d=60)and(e=60)and(f=60)and(g=60)and(h=60)and(i=9223372036854775808) then
        writeln('18446744073709551616')
      else begin
      sum:=sum+mi(a)+mi(b)+mi(c)+mi(d)+mi(e)+mi(f)+mi(g)+mi(h);
      writeln(sum+i);end;
    end;
end.

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值