¡¾ÇóÖú¡¿Ëã·¨·ÖÎö
[color=black][font=CourierNewPSMT][font=Times New Roman]function mystery(x, y)[/font][/font][/color][color=black][font=CourierNewPSMT][font=Times New Roman]z := 1[/font][/font][/color]
[color=black][font=CourierNewPSMT][font=Times New Roman]while (y != 0){[/font][/font][/color]
[color=black][font=CourierNewPSMT][font=Times New Roman] if (y % 2 = 0){[/font][/font][/color]
[color=black][font=CourierNewPSMT][font=Times New Roman]x = x * x[/font][/font][/color]
[color=black][font=CourierNewPSMT][font=Times New Roman]y = y / 2[/font][/font][/color]
[font=Times New Roman] }[/font]
[color=black][font=CourierNewPSMT][font=Times New Roman] else{[/font][/font][/color]
[color=black][font=CourierNewPSMT][font=Times New Roman]z = z * x[/font][/font][/color]
[font=Times New Roman][color=black][font=CourierNewPSMT]y = y - 1[/font][/color][i][color=#4e0000][/color][/i][/font]
}
}
[color=black][font=CourierNewPSMT][font=Times New Roman]return z;[/font][/font][/color][color=black][/color]
Çë½Ì´ó¼ÒÒ»ÏÂ,Õâ¸öËã·¨µÄcomplexityÊÇO(log n) »¹ÊÇ O(n), »¹ÊDZðµÄ..ÇëÏêϸ˵Ã÷Ò»ÏÂΪʲô,
лл¡£...... ²»ÖªµÀÂ¥Ö÷µ½µ×ÒªµÃµ½µÄÊÇʲô?
ÎÒ¾Í˵ÏÂÕâ¸ö³ÌÐòµÄÖ´ÐкÃÁË:
ÔÚwhileÑ»·ÕâÀï,Èç¹ûyµÄÖµ²»µÈÓÚ0,ÄÇô½«Ò»Ö±½øÐÐÏÂÃæµÄÑ»·.
Ö®ºóÊÇif,Èç¹ûyÓëÉÏ2µÈÓÚ0,ÄÇô½«Ö´ÐÐifÓï¾äÖеĴúÂë,ÄÇô±ãÊÇx=x*x,y=y/2.,Ö®ºóÔÙÌøµ½whileÑ»·,Ö±µ½whileÑ»·ÖеÄÌõ¼þ³ÉÁ¢,ÔÙÍ˳öÑ»·,×îºó·µ»ØÒ»¸ö±äÁ¿zµÄÖµ,Õâʱz
Ó¦¸ÃΪ1.
Èç¹ûifÓï¾äÖеÄÅжϲ»³ÉÁ¢,ÄÇôִÐÐelseÖеÄÓï¾äz=z*x,y=z-1,Ö®ºóÔÙÌøµ½whileÑ»·,Ö±µ½whileÑ»·ÖеÄÌõ¼þ³ÉÁ¢,ÔÙÍ˳öÑ»·,Ö´ÐÐreturnÓï¾ä,·µ»ØÒ»¸öz±äÁ¿µÄÖµ.Õâʱz±äÁ¿µÄÖµÔòÊÇelseÓï¾äÖÐËã³öµÄÄǸöÖµ. »ØÂ¥ÉÏ£¬Â¥Ö÷ÊÇÒªµÃµ½Õâ¸öº¯ÊýµÄʱ¼ä¸´ÔÓ¶È¡£
Ó¦¸ÃÊÇO(log n)
ÏÂÁÐËã·¨Ò²ÊÇO(log n)
for(i=1;j<=n;i=2*i)
count<<"i="<<i; count?
ºÃÏóÊÇcout°É,ÄDz»ÊÇC++ÀïÃæµÄ¶«Î÷,ΪÈö»áÔÚÎÒµÄJava°æ³öÏÖ~~~ÔÎ ²»ºÃÒâ˼£¬´íÁË¡«¡«£¬ÊÇcout
ÒòΪÎÒÍü¼ÇÁËjavaµÄÓï·¨£¬×î½üÓÖ³£ÓÃc++£¬ËùÒÔд³öc£«£«µÄÁË ºÜ¼òµ¥°¡£¬ÊÇO(logn).
¿Ï¶¨ÊǰÑy¿´³ÉnÀ£¬Ïëһϣ¬ÖÁ¶à²Ù×÷£²´Îʹ£Î±ä³É£Î£¯£²£¬ËùÒÔ
£Ô£¨£Î£©£¼£½£Ô£¨£Î£¯£²£©£«£²
ÕâÑù¾ÍºÜÃ÷ÏÔÀ Â¥ÉÏÕý½â£¬¸ßÊÖ°¢
Ò³:
[1]