Քանի՞ հատ
* կտպի տվյալ ծրագիրը։ #include <iostream> void print(int n) { int i = 0; if (n > 1) print(n - 1); for (i = 0; i < n; i++) std::cout << " * "; } int main() { int n; std::cout << "Input number "; std::cin >> n; if (n < 0) { std::cout << "Invalid input"; return 0; } print(n); }
Հուշում 1
Փորձեք պատասխանել հարցին
n-ի փոխարեն օգտագործելով կոնկրետ թվեր։ Քանի՞ հատ
* կտպի ծրագիրը, եթե`n=1 n=2n=3n=4🚩 Հուշում 2
n=2 դեպքում կունենաք հետևյալ իրավիճակը։ Սկզբում կկանչվի
print(2) ֆունկցիան։ Այնուհետև կկանչվի print(1) ֆունկցիան։print(1) կանչի ժամանակ կտպվի 1 հատ *։print(1) կանչի ավարտից հետո կշարունակի աշխատել print(2) ֆունկցիան, որը իր հերթին էկրանին կտպի ևս 2 հատ *:Այսպիսով, ընդհանուր առմամբ կտպվի
1 + 2 == 3 հատ * :n = 4 դեպքում ֆունկցիաների կանչի շղթան կունենա հետևյալ տեսքը`print(1) ֆունկցիան կտպի 1 հատ *print(2) ֆունկցիան կտպի 2 հատ *print(3) ֆունկցիան կտպի 3 հատ *print(4) ֆունկցիան կտպի 4 հատ *Այսպիսով, ընդհանուր առմամբ կտպվի
1 + 2 + 3 + 4 == 10 հատ *n = 10 - ի դեպքում ֆունկցիաների կանչի շղթան կունենա հետևյալ տեսքը։Ընդհանուր առմամբ կտպվի
🚩 Հուշում 3 (լուծում)
Եթե փորձենք ընդհանրացնել լուծումը մուտքագրված կամայական
n թվի համար, կտեսնենք, որ տպված * - երի քանակը հավասար է`Վերհիշենք դպրոցական մաթեմատիկայի թվաբանական պրոգրեսիայի առաջին
n անդամների գումարի բանաձևը։ Կստանանք, որ տպված * ների քանակը հավասար է`