#4032: 第三個測資點TLE


a5480a5480 (歐歐)

學校 : 不指定學校
編號 : 12402
來源 : [123.195.69.222]
最後登入時間 :
2023-03-31 12:40:34
d636. 大爆炸bomb -- jack1 | From: [123.195.112.138] | 發表日期 : 2010-07-25 14:26

#include<iostream>

using namespace std;

int main(){
    int a , b ;
    long long int result = 1 ;
    scanf("%d%d" , &a , &b);

    for(int i = 0 ; i < b ; i++)
            result = (a * result) % 10007;

    printf("%d\n" , result);
    system("PAUSE");
    return 0;
}

 

有高手可以給個建議嘛!?|||

 
#4658: Re:第三個測資點TLE


stmharry (橘子皮)

學校 : 精誠中學
編號 : 14661
來源 : [140.112.218.161]
最後登入時間 :
2012-06-26 20:04:05
d636. 大爆炸bomb -- jack1 | From: [163.23.125.173] | 發表日期 : 2010-12-15 08:54

#include

using namespace std;

int main(){
    int a , b ;
    long long int result = 1 ;
    scanf("%d%d" , &a , &b);

    for(int i = 0 ; i < b ; i++)
            result = (a * result) % 10007;

    printf("%d\n" , result);
    system("PAUSE");
    return 0;
}

 

有高手可以給個建議嘛!?|||

把pow(x, 107)拆成pow(x, 32)^3 * pow(x, 4)^2 * pow(x, 2) * pow(x, 1)
 
#6841: Re:第三個測資點TLE


jdh8 (硬邦邦)

學校 : 臺北醫學大學
編號 : 6332
來源 : [122.116.101.60]
最後登入時間 :
2019-11-14 01:20:34
d636. 大爆炸bomb -- jack1 | From: [118.168.177.133] | 發表日期 : 2012-07-26 19:10

用 Binary powering


int powmod(int a, int b) {
  int bin=1, i, res=1, tmp=a%10007;

  for(i=0; i<32; i++) {
    if(b & bin)
      res = res * tmp % 10007;
    bin <<= 1;
    tmp = tmp * tmp % 10007;
  }
  return res;
}

 
ZeroJudge Forum