If you're seeing this message, it means we're having trouble loading external resources on our website.

Егер веб фильтрлерін қолдансаң, *.kastatic.org мен *.kasandbox.org домендері бұғатталмағанын тексер.

Негізгі бет

Санның дәрежелерін есептеу

JavaScript-те санның дәрежесін есептейтін кірістірілген pow (дәреже) функциясы болса да, сіз ұқсас функцияны рекурсивті түрде жаза аласыз және бұл өте тиімді болуы мүмкін. Жалғыз қиындық - біздің көрсеткішіміз бүтін сан болу керек.
Сіз x, start superscript, n, end superscript есептегіңіз келеді делік, мұндағы x - кез-келген нақты сан, ал n - кез-келген бүтін сан. Егер n 0 болса, бұл оңай шығарылады, өйткені x, start superscript, 0, end superscript, equals, 1, x қандай болмасын. Бұл жақсы негізгі нұсқа.
Енді n оң сан болған кезде не болатынын көрейік. x дәрежелерін көбейту кезінде сіз өлшемдерді қосатындығыңызды еске түсірейік: x, start superscript, a, end superscript, dot, x, start superscript, b, end superscript, equals, x, start superscript, a, plus, b, end superscript кез-келген базалық x және кез-келген a және bкөрсеткіштері үшін. Сондықтан, егер n оң және жұп болса, онда x, start superscript, n, end superscript, equals, x, start superscript, n, slash, 2, end superscript, dot, x, start superscript, n, slash, 2, end superscript. Егер сіз y, equals, x, start superscript, n, slash, 2, end superscript рекурсивті түрде есептеуіңіз керек болса, онда сіз x, start superscript, n, end superscript -ді y, dot, y ретінде есептей аласыз. Егер n оң және тақ болса ше? Ондай болса x, start superscript, n, end superscript, equals, x, start superscript, n, minus, 1, end superscript, dot, x, ал n, minus, 1 нөл немесе оң және жұп болады. Біз x дәрежесін қалай есептеу керектігін көрдік, егер көрсеткіш 0-ге тең болса немесе кез келген оң сан және жұп сан болса. Сондықтан сіз x, start superscript, n, minus, 1, end superscript рекурсивті түрде есептей аласыз, содан кейін осы нәтижені x, start superscript, n, end superscript, equals, x, start superscript, n, minus, 1, end superscript, dot, x есептеу үшін қолдана аласызx
Ал n теріс болғанда ше? Онда x, start superscript, n, end superscript, equals, 1, slash, x, start superscript, minus, n, end superscript, ал minus, n дәрежесі оң, өйткені бұл теріс санның теріске шығарылуы. Осылайша сіз x, start superscript, minus, n, end superscript рекурсивті түрде есептеп, оның кері мәнін қабылдай аласыз.
Осы бақылауларды біріктіре отырып, біз келесі рекурсивті есептеу алгоритмін аламыз x, start superscript, n, end superscript:
  • Негізгі жағдай - n, equals, 0 және x, start superscript, 0, end superscript, equals, 1.
    • егер n оң және жұп болса, рекурсивті түрде y, equals, x, start superscript, n, slash, 2, end superscript, сонда x, start superscript, n, end superscript, equals, y, dot, y -деп есептеңіз. Назар аударыңыз, бұл жағдайда сіз тек бір рекурсивті қоңырауды орындаудан, x, start superscript, n, slash, 2, end superscript есептеуді бір рет жасай аласыз, содан кейін сіз осы рекурсивті қоңыраудың нәтижесін өзіне көбейтесіз.
    • егер n оң және тақ болса, рекурсивті түрде x, start superscript, n, minus, 1, end superscript-деп есептейсіз, сондықтан көрсеткіш 0 немесе оң және жұп болады. Сонда x, start superscript, n, end superscript, equals, x, start superscript, n, minus, 1, end superscript, dot, x.
    • егер n теріс болса, рекурсивті түрде x, start superscript, minus, n, end superscript есептеңіз, сонда көрсеткіш оң болады. Сонда x, start superscript, n, end superscript, equals, 1, slash, x, start superscript, minus, n, end superscript болады.

Бұл мазмұн ынтымақтастықтың нәтижесі Дартмут компьютерлік ғылымы профессорлар [Томас Кормен](http://www.cs.dartmouth.edu / ~thc/) және [Дэвин Бэлком](http://www.cs.dartmouth.edu / ~devin/), сонымен қатар Хан академиясының компьютерлік оқу бағдарламасы бойынша тобы. Мазмұн лицензияланған CC-BY-NC-SA.