Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
misskotopes
0 / 0 / 0
Регистрация: 29.09.2015
Сообщений: 3
1

Функция сложения двух чисел, используя только прибавление единицы

09.11.2015, 18:42. Просмотров 1462. Ответов 10
Метки нет (Все метки)

Здравствуйте, помогите пожалуйста. Написать функцию сложения двух чисел, используя только прибавление единицы.Рекурсия
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2015, 18:42
Ответы с готовыми решениями:

Рекурсия: функция сложения двух чисел, используя только прибавление единицы
Помогите написать программу: Написать функцию сложения двух чисел, используя только прибавление...

Найти частное двух чисел вводимых с клавиатуры используя только операцию вычитания
Помогите составить программу, которая находит частное двух чисел вводимых с клавиатуры используя...

Прибавление единицы к переменной
#include <conio.h> #include <stdio.h> #include <stdlib.h> int main() { unsigned char...

Функция сложения двух матриц
Здравствуйте форумчане, нужна ваша помощь с функцией для программы сложения двух матриц, сама...

Используя только операции сложения и вычитания, найти частное/остаток от деления нацело N на K (while)
Даны целые положительные числа N и K. Используя только операции сложения и вычитания, найти...

10
magirus
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
27969 / 15696 / 961
Регистрация: 15.09.2009
Сообщений: 67,822
Записей в блоге: 78
09.11.2015, 18:43 2
С или С++?
0
GbaLog-
Любитель чаепитий
3170 / 1475 / 466
Регистрация: 24.08.2014
Сообщений: 5,210
Записей в блоге: 1
Завершенные тесты: 2
09.11.2015, 19:02 3
misskotopes
C++
1
2
3
4
5
6
7
int sum( int x, int y ) {
    if( y == 0 ) return x;
    else {
        x++; y--;
        return sum( x, y );
    }
}
0
Eva Rosalene
Ladybug
4055 / 1593 / 304
Регистрация: 06.01.2013
Сообщений: 4,190
Завершенные тесты: 2
09.11.2015, 20:05 4
makfak, лаконичнее:
C
1
2
3
4
int sum ( int x, int y ) {
   if (y == 0) return x;
   return sum(++x, --y);
}
2
GbaLog-
Любитель чаепитий
3170 / 1475 / 466
Регистрация: 24.08.2014
Сообщений: 5,210
Записей в блоге: 1
Завершенные тесты: 2
09.11.2015, 20:21 5
FraidZZ, Ну у меня почему-то приложение вылетало, сначала такой вариант и был.
0
Jewbacabra
Эксперт PHP
3785 / 3120 / 1371
Регистрация: 24.04.2014
Сообщений: 9,490
09.11.2015, 20:53 6
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от makfak Посмотреть сообщение
сначала такой вариант и был.
такой как выше, или вот такой
C
1
sum(x++, y--);
Он и не должен работать, т.к. это бесконечный (пока стек не переполнен) вызов самого себя

Добавлено через 1 минуту
Без рекурсии
C
1
2
3
4
int sum(int x, int y) {
    while (y--) ++x;
    return x;
}
1
GbaLog-
Любитель чаепитий
3170 / 1475 / 466
Регистрация: 24.08.2014
Сообщений: 5,210
Записей в блоге: 1
Завершенные тесты: 2
09.11.2015, 20:57 7
Jewbacabra, Ой да, декремент, ну ладно, ошибся, бывает.
0
Вячеслав21
0 / 0 / 0
Регистрация: 03.06.2017
Сообщений: 7
11.07.2017, 10:41 8
Как этот код переделать, чтобы сумма просчитывалась при двух отрицательных числах? при отрицательном а все просчитывается, а при отрицательном b или при двух отрицательных происходит переполнение
0
easybudda
Модератор
Эксперт CЭксперт С++
10247 / 6137 / 1544
Регистрация: 25.07.2009
Сообщений: 11,678
11.07.2017, 11:10 9
C
1
2
3
int sum(int a, int b) {
    return ( b > 0 ) ? sum(++a, --b) : ( b < 0 ) ? sum(--a, ++b) : a;
}
0
Вячеслав21
0 / 0 / 0
Регистрация: 03.06.2017
Сообщений: 7
11.07.2017, 11:39 10
C#
1
2
3
4
5
6
7
8
9
10
11
12
public static double slojenie(double  a, double b)
        {
                if (b==0)
                {
                    return a;
                }
                else
                {
                    a++; b--;
                    return slojenie (a,b);
                }
        }
а как вот это переделать? проблема та же самая
с использованием рекурсии
0
Mournful Max
Велосипедист...
347 / 214 / 74
Регистрация: 15.12.2015
Сообщений: 784
Завершенные тесты: 1
11.07.2017, 14:38 11
Вячеслав21,
Цитата Сообщение от easybudda Посмотреть сообщение
C++
1
2
3
int sum(int a, int b) {
    return ( b > 0 ) ? sum(++a, --b) : ( b < 0 ) ? sum(--a, ++b) : a;
}
0
11.07.2017, 14:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2017, 14:38

Рекурсия: функция сложения двух чисел, используя только прибавление единицы
иззачегонеработает?Написать функцию сложения двух чисел, используя только прибавление единицы. ...

Функция сложения двух чисел, используя только прибавление единицы, реализованную с помощью циклов
1. функцию сложения двух чисел, используя только прибавление единицы, реализованную с помощью...

Написать функцию сложения двух чисел, используя только прибавление единицы
Задание 1: Написать функцию сложения двух чисел, используя только прибавление единицы.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru