Հիմնական նյութ
Համակարգչային գիտություն
Դասընթաց․ (Համակարգչային գիտություն) > Բաժին 1
Դաս 6: Ռեկուրենտ ալգորիթմներ- Ռեկուրսիա
- Ֆակտորիալ ֆունկցիան
- Մարտահրավեր․ կրկնողական ֆակտորիալ
- Ռեկուրենտ ֆակտորիալ
- Մարտահրավեր․ ռեկուրենտ ֆակտորիալ
- Ռեկուրենտ ալգորիթմների հատկությունները
- Օգտագործելով ռեկուրսիա՝ գտիր այն բառերը, որոնք պալինդրոմ են
- Մարտահրավեր․ պալինդրոմ տողայիններ
- Հաշվել թվի աստիճանները
- Մարտահրավեր․ ռեկուրսիվ աստիճաններ
- Սիերպինսկիի եռանկյունը
- Նախագիծ․ ռեկուրենտ արվեստ
© 2023 Khan AcademyՕգտագործման պայմաններԳաղտնիության քաղաքականությունՔուքի (Cookie) ծանուցում
Ռեկուրենտ ֆակտորիալ
n-ի դրական արժեքների համար արի անցյալ անգամվա պես գրենք n, !, որը n-ից մինչև 1 թվերի արտադրյալն է․ n, ! = n, dot, left parenthesis, n, minus, 1, right parenthesis, \@cdots, 2, dot, 1։ Բայց ուշադրություն դարձրու, որ left parenthesis, n, minus, 1, right parenthesis, \@cdots, 2, dot, 1-ը left parenthesis, n, minus, 1, right parenthesis, !-ն է, հետևաբար կարող ենք ասել, որ n, !, equals, n, dot, left parenthesis, n, minus, 1, right parenthesis, !։ Տեսա՞ր՝ ինչ արեցինք։ n, !-ը գրեցինք որպես արտադրյալ, որտեղ արտադրիչներից մեկը left parenthesis, n, minus, 1, right parenthesis, !-ն է։ Մենք ասացինք, որ n, !-ը կարող ես գտնել left parenthesis, n, minus, 1, right parenthesis, !-ը գտնելով և left parenthesis, n, minus, 1, right parenthesis, !-ի արդյունքն n-ով բազմապատկելով։ Կարող ես n-ի ֆակտորիալի ֆունկցիան գտնել՝ սկզբից գտնելով n, minus, 1-ի ֆակտորիալի ֆունկցիան։ Մենք ասում ենք, որ left parenthesis, n, minus, 1, right parenthesis, !-ը գտնելը n! գտնելու ենթախնդիր է։
Արի նայենք օրինակին․ հաշվենք 5!-ը։
- 5!-ը կարող ենք հաշվել որպես 5, dot, 4, !։
- Հիմա պետք է լուծես ենթախնդիրը՝ 4!-ը հաշվելը, որը կարող ես հաշվել որպես 4, dot, 3!։
- Հիմա պետք է լուծես ենթախնդիրը՝ 3!-ը հաշվելը, որը 3, dot, 2, !-ն է։
- Հիմա՝ 2!-ը, որը 2, dot, 1, !-ն է։
- Հիմա պետք է հաշվես 1!-ը։ Կարող ես ասել, որ 1!-ը հավասար է 1, որովհետև այն 1-ից 1 գտնվող բոլոր ամբողջ թվերի արտադրյալն է։ Կամ կարող ես բանաձևով ասել, որ 1, !, equals, 1, dot, 0, !։ Արի անենք բանաձևով։
- 0!-ը հավասար է 1։
- Հիմա կարող ես հաշվել 1, !, equals, 1, dot, 0, !, equals, 1։
- Հաշվելով 1, !, equals, 1-ը՝ կարող ես գտնել 2, !, equals, 2, dot, 1, !, equals, 2։
- Հաշվելով 2, !, equals, 2-ը՝ կարող ես գտնել 3, !, equals, 3, dot, 2, !, equals, 6։
- Հաշվելով 3, !, equals, 6-ը՝ կարող ես գտնել 4, !, equals, 4, dot, 3, !, equals, 24։
- Եվ վերջապես, հաշվելով 4, !, equals, 24-ը՝ կարող ես գտնել, որ 5, !, equals, 5, dot, 4, !, equals, 120։
Հիմա կարող ենք այլ կերպ մտածել, թե ինչպես գտնենք n, !-ի արժեքը բոլոր ոչ բացասական n ամբողջ թվերի համար՝
- Եթե n, equals, 0, հայտարարիր n, !, equals, 1։
- Այլապես n-ը պետք է լինի դրական։ Լուծիր left parenthesis, n, minus, 1, right parenthesis, !-ը հաշվելու ենթախնդիրը, արդյունքը բազմապատկիր n-ով և n, !-ին հավասարեցրու արտադրյալի արժեքը։
Երբ այս եղանակով հաշվում ենք n, !-ը, կանչում ենք այն դեպքը, որի պատասխանն արդեն գիտենք՝ առաջնային դեպքը, իսկ հետո կանչում ենք երկրորդ դեպքը, որտեղ նույն ֆունկցիան ենք կանչում՝ ավելի մեծ արժեքով՝ ռեկուրենտ դեպքը։
Նյութը ստեղծվել է Դարթմութի համակարգչային գիտությունների դասախոսներ Թոմաս Քորմենի և Դեվին Բալկքոմի, ինչպես նաև «Քան» ակադեմիայի ծրագրավորման թիմի կողմից։ Նյութը լիցենզավորվել է CC-BY-NC-SA-ի կողմից։
Ուզո՞ւմ ես միանալ խոսակցությանը։
Առայժմ հրապարակումներ չկան։