#10023: 請問為什麼這樣測資1會TLE?


EErielin (花米)

學校 : 國立交通大學
編號 : 42224
來源 : [140.112.48.64]
最後登入時間 :
2017-11-30 19:31:03
d493. 入门求幂题(求幂系列题1) -- scientific | From: [111.253.81.13] | 發表日期 : 2015-07-09 23:48

#include <stdio.h>
#include <stdlib.h>

long long int powint(long long int a, long long int n)
{
    int i;
    long long int sum = 1;
    if (n == 0)
        return sum;
    for (i = 0; i < n; ++i)
        sum *= a;
    return sum;
}

int main()
{
    long long int a, n;
    while (scanf("%lld %lld", &a, &n) != EOF) {
        if (a == -1)
            if (n % 2)
                printf("-1\n");
            else
                printf("1\n");
        else
            printf("%lld\n", powint(a, n));
    }
    return 0;
}

 
#10024: Re:請問為什麼這樣測資1會TLE?


liouzhou_101 (王启圣)

學校 : 广西柳州高级中学
編號 : 3714
來源 : [126.108.190.144]
最後登入時間 :
2023-07-21 17:40:51
d493. 入门求幂题(求幂系列题1) -- scientific | From: [59.66.133.196] | 發表日期 : 2015-07-10 18:55

#include
#include

long long int powint(long long int a, long long int n)
{
    int i;
    long long int sum = 1;
    if (n == 0)
        return sum;
    for (i = 0; i < n; ++i)
        sum *= a;
    return sum;
}

int main()
{
    long long int a, n;
    while (scanf("%lld %lld", &a, &n) != EOF) {
        if (a == -1)
            if (n % 2)
                printf("-1\n");
            else
                printf("1\n");
        else
            printf("%lld\n", powint(a, n));
    }
    return 0;
}


a=1然后n很大呢,你怎么办?

 
ZeroJudge Forum