Вопрос по информатике:
Написать программу на языке С++
Задача:
В одной старинной задаче мудрец предложил шаху в качестве награды за услугу выдать зерно. Причем количество зерна оговорил так:на первую клетку шахматной доски положить 1 зерно, на 2-ую - 2, на 3-ю - 4, на 4-ую - 8 и т.д. Составить программу, с помощью которой можно вычислить, на какой клетке суммарное количество зерен превысит N штук.
- 05.03.2018 15:02
- Информатика
- remove_red_eye 15539
- thumb_up 27
Ответы и объяснения 1
//----------------------------------------------------------
// Разработал GonanSoft
//----------------------------------------------------
int i;
unsigned long long k=0; // сумма зёрен на i-ом шаге
unsigned long long s=1; // количество зерен в i-ой клетке
unsigned long long n; // переменная признак окончания
cout << 'количество зерен ';
cin>>n;
for (i = 1; i <= 64; i++)
{
k=k+s;
if (n
s=s<<1;
}
if (n18446744073709551615) //это проверка на максимум зёрен
cout << 'Номер клетки = ' << i << '\n';
else
cout << 'Сумма зёрен не превысит 18446744073709551615 ' << i << '\n';
//-----------------------------------------------------------
- 06.03.2018 06:08
- thumb_up 24
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.