Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск

Кто сейчас на форуме
Сейчас посетителей на форуме: 0, из них зарегистрированных: 0, скрытых: 0 и гостей: 0 :: 1 поисковая система

Нет

[ Посмотреть весь список ]


Больше всего посетителей (15) здесь было Вт Ноя 27, 2018 3:50 am
Самые активные пользователи за неделю
Ярослав
 


Возведение числа в степень.

Перейти вниз

Возведение числа в степень.

Сообщение автор Gragory023 в Вс Фев 05, 2017 3:11 pm

Нашел такую вот задачку.
Нужно возвести первое число в степень второго используя лишь оператор ++(без *,/,^ ..) и циклы.
Хотелось бы получить пару подсказок для решения! Подмигиваю

Gragory023

Posts : 75
Join date : 2016-12-28

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Возведение числа в степень.

Сообщение автор Ярослав в Вс Фев 05, 2017 10:44 pm

Сначала делаем умножение:

Код:
// этот код равносилен: c = a * b;
int a, b; // входные числа
int c = 0; // результат
for (int i = 0; i < a; i++)
  for (int j = 0; j < b; j++)
      c++; // сколько раз c увеличится на 1? a*b

Теперь, когда у нас есть способ умножать числа, нужно вспомнить определение возведения в степень:

x^y = x*x*x*...*x (всего x присутствует y раз)

Это можно посчитать, используя ещё один цикл (и дополнительную переменную для накопления результата)
avatar
Ярослав
Admin

Posts : 673
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: Возведение числа в степень.

Сообщение автор Gragory023 в Пн Фев 06, 2017 10:15 am

Не получается правильно задать степень в цикле.
Код:
for (int i = 0; i < a; i++) {
 for (int t = 0; t < a; t++)
 c++;//узнаем квадрат числа
 }
 
 
 for (int j = 2; j < b; j++) {
 for (int o = 0; o < c; o++)//перемножаем квадрат числа с числом
 for (int t = 0; t < a; t++)
 d++;
Вот только, что то такое приходит в голову

Gragory023

Posts : 75
Join date : 2016-12-28

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Возведение числа в степень.

Сообщение автор Ярослав в Вт Фев 07, 2017 12:45 pm

Как бы я возводил в степень:

z = 1
z = z * x // 1
z = z * x // 2
z = z * x // 3
...
z = z * x // y

Проблемой является то, что написать одно и то же действие n раз (переменное числоа раз) нельзя; а решением этого является цикл.

Код:
for (int k = 0; k < y; k++) // повторить y раз
  // код, умножающий z * x и сохраняющий результат в z
avatar
Ярослав
Admin

Posts : 673
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: Возведение числа в степень.

Сообщение автор Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения