1

Тема: Рекурсивна функція.

Задачка: Написати рекурсивну функцію Sum для визначення суми n дійсних чисел.
Що скажете у мене получилося виконати цю задачу?

Код:

#include <stdio.h>

int sumOfDigits(int n);
int main()
{
    int n, sum;
    
    printf("Введіть будь-яке число, щоб знайти суму цифр: ");
    scanf("%d", &n);
    
    sum = sumOfDigits(n);
    
    printf("Сума цифр %d = %d", n, sum);
    
    return 0;
}

 //Рекурсивна функція для пошуку суми цифр числа
int sumOfDigits(int n)
{
    if(n == 0)
        return 0;
        
    return ((n % 10) + sumOfDigits(n / 10));
}

2

Re: Рекурсивна функція.

Майже. З від'ємними не працює.

Подякували: isopesku051

3 Востаннє редагувалося koala (01.10.2021 18:57:36)

Re: Рекурсивна функція.

isopesku05 написав:

Sum для визначення суми n дійсних чисел

isopesku05 написав:
sum = sumOfDigits(n);
printf("Сума цифр %d = %d", n, sum);

Коли моя донька йшла до першого класу, одне з питань на співбесіді було "чим число відрізняється від цифри". Як би ви відповіли?

Подякували: isopesku051

4

Re: Рекурсивна функція.

Цифри це від 1 до 9 а число це наприклад 13

5

Re: Рекурсивна функція.

isopesku05 написав:

Цифри це від 1 до 9 а число це наприклад 13

І ви ще лізите в програмування? Ви про нуль забули. Ідіть двірником працювати, якщо на це питання відповісти не в змозі.

Подякували: isopesku05, FakiNyan, dot3

6

Re: Рекурсивна функція.

Згоден з вами.

7

Re: Рекурсивна функція.

Я тут зробив ще одну задачку
Задачка: Використати рекурсивні функції для пошуку розв’язку.
На зборах присутні 30 осіб. Скількома способами можна обрати президію зборів у складі трьох осіб?

#include <stdlib.h>
#include <stdio.h>
unsigned num(unsigned n, unsigned m) {
return n > m? n * num(n - 1, m) : 1;
}
unsigned den(unsigned n) {
return n? n * den(n - 1) : 1;
}
int main(void) {
unsigned a = 30, b = 3;
unsigned x = num(a, a - b) / den(b);
printf("x: %u\n", x);

return 0;
}

8

Re: Рекурсивна функція.

1 тема = 1 запитання
і питайте у нас лише питання про проблему, чистого коду не існує, існує лише робочий та не робочий
написали?  працює?  результати видає правильні?
якщо ви відповіли 3 так на ці питання то все добре, можете відправляти цей код викладачу через гугл клас / почту чи у вайбер =_=


якщо вам код задали в школі або університеті, думаю що там ніхто нічого не перевіряє(хоча все можливо), а просто викладачі заставляють робити звіт з скріншотами результатів які можна споккійнісінько підробити =_=

9

Re: Рекурсивна функція.

isopesku05 написав:

Цифри це від 1 до 9 а число це наприклад 13

Припустимо. То вам суму цифр чи суму чисел треба шукати?