110年身心障礙人員四等程式設計概要

四、如下的 Python method,分別使用 PQ1(-171)PQ1(271)PQ1(-371)PQ1(471) 進行呼叫,請問執行的結果為何?(25分)

    def PQ1(num):

        resultNum = 0;

        original = num;

        num = abs(num);

        while(num > 0):

            rr = num%10;

            num = num//10;

            resultNum = resultNum+(rr*rr*rr);

        if(abs(original) == resultNum):

            print("{} Hit {} !!".format(original, original));

        else:

            print("{} Not Hit {} !!".format(original, resultNum));

答:

def PQ1(num):

    resultNum = 0;

    original = num;

    num = abs(num);

    while(num > 0):

        rr = num%10;

        num = num//10;

        resultNum = resultNum+(rr*rr*rr);

    if(abs(original) == resultNum):

        print("{} Hit {} !!".format(original, original));

    else:

        print("{} Not Hit {} !!".format(original, resultNum));

PQ1(-171)

PQ1(271)

PQ1(-371)

PQ1(471)

執行結果:

-171 Not Hit 345 !!

271 Not Hit 352 !!

-371 Hit -371 !!

471 Not Hit 408 !!

說明:

PQ1(-171)

 

num

rr

resultNum

初始值

-171

0

第一回

17

1

0+1×1×1 = 0+1 = 1

第二回

1

7

1+7×7×7 = 1+343 = 344

第三回

0

1

344+1×1×1 = 344+1 = 345

PQ1(271)

 

num

rr

resultNum

初始值

271

0

第一回

27

1

0+1×1×1 = 0+1 = 1

第二回

2

7

1+7×7×7 = 1+343 = 344

第三回

0

2

344+2×2×2 = 344+8 = 352

PQ1(-371)

 

num

rr

resultNum

初始值

-371

0

第一回

37

1

0+1×1×1 = 0+1 = 1

第二回

3

7

1+7×7×7 = 1+343 = 344

第三回

0

3

344+3×3×3 = 344+27 = 371

PQ1(471)

 

num

rr

resultNum

初始值

471

0

第一回

47

1

0+1×1×1 = 0+1 = 1

第二回

4

7

1+7×7×7 = 1+343 = 344

第三回

0

4

344+4×4×4 = 344+64 = 408

 

arrow
arrow
    創作者介紹
    創作者 jacksaleok 的頭像
    jacksaleok

    國考資訊處理工作室(高考二級資訊處理/高考三級資訊處理/調查局三等/關務人員三等/地方特考三等)

    jacksaleok 發表在 痞客邦 留言(0) 人氣()