Հիմնական նյութ
Համակարգչային գիտություն
Դասընթաց․ (Համակարգչային գիտություն) > Բաժին 1
Դաս 6: Ռեկուրենտ ալգորիթմներ- Ռեկուրսիա
- Ֆակտորիալ ֆունկցիան
- Մարտահրավեր․ կրկնողական ֆակտորիալ
- Ռեկուրենտ ֆակտորիալ
- Մարտահրավեր․ ռեկուրենտ ֆակտորիալ
- Ռեկուրենտ ալգորիթմների հատկությունները
- Օգտագործելով ռեկուրսիա՝ գտիր այն բառերը, որոնք պալինդրոմ են
- Մարտահրավեր․ պալինդրոմ տողայիններ
- Հաշվել թվի աստիճանները
- Մարտահրավեր․ ռեկուրսիվ աստիճաններ
- Սիերպինսկիի եռանկյունը
- Նախագիծ․ ռեկուրենտ արվեստ
© 2023 Khan AcademyՕգտագործման պայմաններԳաղտնիության քաղաքականությունՔուքի (Cookie) ծանուցում
Հաշվել թվի աստիճանները
Չնայած 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-ը կամ 0 է, կամ դրական և զույգ։ Նոր տեսանք, թե ինչպես կարող ենք ռեկուրսիայով գտնել 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 գտնելու համար։
Իսկ ի՞նչ կլինի, եթե 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։
Նյութը ստեղծվել է Դարթմութի համակարգչային գիտությունների դասախոսներ Թոմաս Քորմենի և Դեվին Բալկքոմի, ինչպես նաև «Քան» ակադեմիայի ծրագրավորման թիմի կողմից։ Նյութը լիցենզավորվել է CC-BY-NC-SA-ի կողմից։
Ուզո՞ւմ ես միանալ խոսակցությանը։
Առայժմ հրապարակումներ չկան։