Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.60
pashokman
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 44
#1

"О шахматной доске и зернах" - C++

28.04.2011, 10:07. Просмотров 1944. Ответов 23
Метки нет (Все метки)

"О шахматной доске и зернх". Известная индийская легенда утверждает, что когда великий гроссмейстер выиграл у падишаха в награду он попросил положить на первую клетку шахматной доски 1 зерно, на вторую - 2, на третью - 4, на четвертую - 16 и т.д. Опишите программу, содержащую рекурсивную процедуру вычисления количества зерен на n-й ячейке шахматной доски.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2011, 10:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос "О шахматной доске и зернах" (C++):

Задача о зернах на шахматной доске - C++
Математическая задача, в которой вычисляется, сколько будет зёрен на шахматной доске, если класть на каждую следующую клетку доски вдвое...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно". Я так...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

Описать структуру "Позиции шахматной фигуры" - C++
Необходимо задать описание структуры FigurePosition – позиции шахматной фигуры. Вопрос, казалось бы, элементарный,но дойти до истины не...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

23
Mencey
147 / 94 / 7
Регистрация: 22.07.2010
Сообщений: 424
28.04.2011, 10:10 #2
Что у тебя не получается?
0
pashokman
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 44
28.04.2011, 10:27  [ТС] #3
Я не понимаю как через рекурсивную процедуру ето сделать!
0
Mencey
147 / 94 / 7
Регистрация: 22.07.2010
Сообщений: 424
28.04.2011, 10:42 #4
f(n) = 2^n + f(n-1)

C
1
2
3
4
5
6
int f(int n){
  if(n == 0){  // Выход из рекурсии с возвращение 1
    return 1;
  }
  return pow(2, n) + f(n-1); 
}
1
pashokman
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 44
28.04.2011, 10:51  [ТС] #5
большое спасибо!
0
Mencey
147 / 94 / 7
Регистрация: 22.07.2010
Сообщений: 424
28.04.2011, 11:04 #6
Кажется я вам наврал... Задание неправильно понял. Сейчас исправлюсь.

Проверьте на всякий случай.
C
1
2
3
4
5
6
int f(int n){
  if(n == 0){  // Выход из рекурсии с возвращение 1
    return 1;
  }
  return 2 * f(n-1); 
}
0
neske
1502 / 869 / 84
Регистрация: 26.03.2010
Сообщений: 2,983
28.04.2011, 11:06 #7
Цитата Сообщение от pashokman Посмотреть сообщение
на первую клетку шахматной доски 1 зерно, на вторую - 2, на третью - 4, на четвертую - 16
ТС, точно так?
0
pashokman
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 44
28.04.2011, 11:09  [ТС] #8
да точно так!
0
Mencey
147 / 94 / 7
Регистрация: 22.07.2010
Сообщений: 424
28.04.2011, 11:09 #9
Только тут 1-я будет нулевой).
0
neske
1502 / 869 / 84
Регистрация: 26.03.2010
Сообщений: 2,983
28.04.2011, 11:10 #10
http://ru.wikipedia.org/wiki/Задача_о_зёрнах_на_шахматной_доске

Не ошибаетесь?
0
pashokman
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 44
28.04.2011, 11:14  [ТС] #11
а теперь я чет не понял как оно будет щитать количество зерен?

Добавлено через 2 минуты
neske понимаеш у меня немного другое задание))
0
neske
1502 / 869 / 84
Регистрация: 26.03.2010
Сообщений: 2,983
28.04.2011, 11:16 #12
ну тогда, если следовать вашему условию, код Mencey неверный, при n = 4, он выдаст 8.
0
pashokman
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 44
28.04.2011, 11:20  [ТС] #13
Я понял уже что он неверен но как сделать через рекурсию и так чтобы оно щитало правильно мое условие задачи?

Добавлено через 3 минуты
у меня получается каждый следующий елемент 2,4,16 нужно поднимать к квадрату чтобы получить следующий
0
neske
1502 / 869 / 84
Регистрация: 26.03.2010
Сообщений: 2,983
28.04.2011, 11:27 #14
1 в квадрате у вас тоже 2?

Добавлено через 5 минут
C++
1
2
3
4
5
6
7
long func (int n)
{
    if (n == 1) return 1;
    if (n == 2) return 2;
 
    return func (n - 1) * func (n - 1);
}
0
pashokman
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 44
28.04.2011, 11:43  [ТС] #15
я говорил о елементах которые >=2 и к пощитаному числу получается нужно добавить 1 или както так. может я чет путаю потому что не понял до конца как рекурсию делать
0
28.04.2011, 11:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2011, 11:43
Привет! Вот еще темы с ответами:

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс "вентилятор" содержащий в себе классы:...

Определить тип данных "Запись", имеющий поля "Фамилия", "Пол", "Зарплата" - C++
определить тип данных запись имеющий поля фамилия пол зарплата. определить массив из 10 записей. в программе ввести в массив данные и...

Создать иерархию классов "Фирма", "Бухгалтер", "Сотрудник", "Зарплата" - C++
Само по себе понятие "зарплата" не особенно конкретное: оно включает и почасовую, и ставочную зарплату, и комиссионные, и процент с продаж....

по строкам.замените в слове сочетание "му" на "а" , а букву "ы" на "ца". очень нужно - C++
замените в слове сочетание "му" на "а" , а букву "ы" на "ца". очень нужно Добавлено через 21 час 4 минуты неужели никто не знает...


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

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

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