Предмет: Информатика, автор: Macgregorking

Очень срочно нужна помощь по написанию задач в c++, буду очень благодарен.

Приложения:

Ответы

Автор ответа: MaxLevs
0

Задача A

  • namespace taskA {
  •    int gcf(int a, int b) {
  •        if (a == b) return a;
  •        if (a > b) swap(a, b);
  •        return gcf(a, b - a);
  •    }
  • }

Задача B

  • namespace taskB {
  •    int sum_numbs(int number) {
  •        int d = number / 10;
  •        int m = number % 10;
  •        if (d == 0) return m;
  •        return sum_numbs(d) + m;
  •    }
  • }

Задача C

  • namespace taskC {
  •    int reverse_int(int number, int & factor) {
  •        int d = number / 10;
  •        int m = number % 10;
  •        if (d == 0) {
  •            factor = 1;
  •            return m;
  •        }
  •        int inner_factor = 0;
  •        int inner_reversed = reverse_int(d, inner_factor);
  •        factor = inner_factor * 10;
  •        return m * factor + inner_reversed;
  •    }
  •    int reverse_int(int number) {
  •        int factor;
  •        return reverse_int(number, factor);
  •    }
  • }

Пример использования

*результат работы кода приведен на изображении ниже

  • #import <iostream>
  • using namespace std;
  • namespace taskA {...}
  • namespace taskB {...}
  • namespace taskC {...}
  • int main() {
  •    int number, second_number;
  •    using taskA::gcf;
  •    cout << "Введите два натуральных числа: ";
  •    cin >> number >> second_number;
  •    cout << "НОД(" << number << ", " << second_number << ") = " << gcf(number, second_number) << endl;
  •    using taskB::sum_numbs;
  •    cout << "Введите натуральное число: ";
  •    cin >> number;
  •    cout << "Сумма цифр числа " << number << " равна " << sum_numbs(number) << endl;
  •    using taskC::reverse_int;
  •    cout << "Введите натуральное число: ";
  •    cin >> number;
  •    cout << "После переворота: " << reverse_int(number) << endl;
  •    return 0;
  • }

Приложения:
Похожие вопросы
Предмет: Английский язык, автор: lera5803