20 / 16 / 11
Регистрация: 07.12.2013
Сообщений: 244
1

Рекурсия: возводить аргумент функции в квадрат, пока не получится число 16

14.12.2013, 10:34. Показов 446. Ответов 6
Метки нет (Все метки)

Привет.
Только что узнал,что такое рекурсия и понял как она работает,но написать участок кода с рекурсией мозгов не хватает.
Нужно написать внешнюю функцию involution,которая принимает аргумент из main,равный 2.Она возводит его в квадратную степень с помощью рекурсии,пока не получится число 16 и возвращает 16 в main.
В принципе всё просто,но у меня возникли проблемы.
И прошу писать простым кодом,т.к. я новичок и многого могу не понять.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.12.2013, 10:34
Ответы с готовыми решениями:

Полоска бумаги имеет размеры A × B. Каждый раз от нее отрезается квадрат максимального размера до тех пор, пока не получится квадрат.
Ограничение по времени: 1 секунда Ограничение по памяти: 64 мегабайта Полоска бумаги имеет...

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

Возводить в степень пока пока a < b
Добрый вечер! Как реализовать алгоритм: если число а &lt; b, то а + 1, затем а * а и снова...

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

6
188 / 187 / 46
Регистрация: 24.03.2011
Сообщений: 670
14.12.2013, 11:05 2
C++
1
2
3
4
5
6
7
8
int f(int val) {
    val *= val;
    return val!=16 ? f(val) : val;
/* аналог
if (val!=16) return f(val);
else return val;
*/
}
1
20 / 16 / 11
Регистрация: 07.12.2013
Сообщений: 244
14.12.2013, 11:56  [ТС] 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int solution(int c)
{  int c=c*2;
   if(c!=16) return solution(c);
   else cout<<"c="<<c<<endl;
   
}
 
int main()
{ 
    int a=2;
    solution(a);
    system("pause");
}
Ошибка:переопределение формального параметра "c"
Как исправить ошибку?
0
57 / 57 / 10
Регистрация: 08.12.2013
Сообщений: 257
14.12.2013, 12:05 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int solution(int c)
{  int c=c*2;
   if(c>=16) return solution(c);
   else cout<<"c="<<c<<endl;
   
}
 
int main()
{ 
    int a=2;
    solution(a);
    system("pause");
}
0
188 / 187 / 46
Регистрация: 24.03.2011
Сообщений: 670
14.12.2013, 12:05 5
Цитата Сообщение от Игорюня Посмотреть сообщение
(int c)
{ *int c=c*2;
повторное объявление то зачем?
C++
1
2
(int c)
{ c=c*2;
2
20 / 16 / 11
Регистрация: 07.12.2013
Сообщений: 244
14.12.2013, 12:25  [ТС] 6
Цитата Сообщение от monolit Посмотреть сообщение
повторное объявление то зачем?
C++
1
2
(int c)
{ c=c*2;
Спасибо,теперь всё заработало.
0
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
14.12.2013, 13:49 7
C++
1
2
3
4
int pow2(int val, int stop){
    if(val==stop) return val;
    else return pow2(val<<1, stop);
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.12.2013, 13:49

Как возводить в квадрат И что значит sum?
Как возводить в квадрат И что значит sum?

Если к сумме цифр двузначного числа прибавить квадрат этой суммы, то снова получится это двузначное число
б)если к сумме цифр двузначного числа прибавить квадрат этой суммы,то снова получится это...

Если к сумме цифр двузначного числа прибавить квадрат этой суммы, то снова получится это двузначное число
Задание: Написал примерный код, но сомневаюсь что правильно применил цикл. Сейчас компилятора...

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

Если к сумме цифр двузначного числа прибавить квадрат цифры единиц, то снова получится это двузначное число.
Если к сумме цифр двузначного числа прибавить квадрат цифры единиц, то снова получится это...

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


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

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

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