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

Возведение в степень! - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
12.06.2012, 16:55     Возведение в степень! #1
Определить http://www.cyberforum.ru/cgi-bin/latex.cgi?{\chi }^{15} без использования функций и не более чем 5-ю арифметическими операциями.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2012, 16:55     Возведение в степень!
Посмотрите здесь:

C++ Возведение в степень!
возведение в степень C++
C++ Возведение степень
C++ Возведение в степень
Возведение в степень C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
g-h
67 / 67 / 1
Регистрация: 03.06.2012
Сообщений: 176
12.06.2012, 17:00     Возведение в степень! #2
Может быть так
C++
1
2
3
4
int rez = 1;
 
for (int i=1; i<=15; i++)
   rez = rez * x;
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
12.06.2012, 17:02     Возведение в степень! #3
g-h, сказали же, не более 5 операций.
C++
1
2
3
4
int res = x;
for (int i = 0; i < 4; ++i)
   res *= res;
res /= x;
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
12.06.2012, 17:10  [ТС]     Возведение в степень! #4
neske, хм, я не понял реализацию, можете объяснить подробно?
dima koz
 Аватар для dima koz
23 / 17 / 1
Регистрация: 05.06.2012
Сообщений: 72
Записей в блоге: 5
12.06.2012, 17:12     Возведение в степень! #5
C++
1
2
3
int answer,a;
а = х * х * х;
answer = a*a*a;
Даже без циклов
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
12.06.2012, 17:12     Возведение в степень! #6
ну сначала мы четыре раза в квадрат возводим, получается 16 степень, делим, получается 15

Добавлено через 29 секунд
dima koz, получается 9 степень
g-h
67 / 67 / 1
Регистрация: 03.06.2012
Сообщений: 176
12.06.2012, 17:14     Возведение в степень! #7
Цитата Сообщение от dima koz Посмотреть сообщение
int answer,a;
а = х * х * х;
answer = a*a*a;
Но ведь это же получается в девятой степени!
NoBodyIsPerfect
 Аватар для NoBodyIsPerfect
46 / 29 / 1
Регистрация: 11.06.2011
Сообщений: 206
12.06.2012, 17:16     Возведение в степень! #8
neske, а вы операции в цикле считаете?
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
12.06.2012, 17:18     Возведение в степень! #9
NoBodyIsPerfect, не понял я, что вы хотели этим мне сказать
4 в цикле, 1 после.
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
12.06.2012, 17:18  [ТС]     Возведение в степень! #10
может быть как-то с операциями сдвига?, хотя тут X - наверно любое число...
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
12.06.2012, 17:19     Возведение в степень! #11
instagib, сдвигами можно делить/умножать на 2, тут не пойдет
NoBodyIsPerfect
 Аватар для NoBodyIsPerfect
46 / 29 / 1
Регистрация: 11.06.2011
Сообщений: 206
12.06.2012, 17:19     Возведение в степень! #12
neske, ну а цикл то повторяется
dima koz
 Аватар для dima koz
23 / 17 / 1
Регистрация: 05.06.2012
Сообщений: 72
Записей в блоге: 5
12.06.2012, 17:19     Возведение в степень! #13
ага,верно подметили, ошибся
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
12.06.2012, 17:20     Возведение в степень! #14
NoBodyIsPerfect, еще раз повторю, 4 операции за весь цикл, 1 после него. что не так?
NoBodyIsPerfect
 Аватар для NoBodyIsPerfect
46 / 29 / 1
Регистрация: 11.06.2011
Сообщений: 206
12.06.2012, 17:24     Возведение в степень! #15
neske, ну за каждый проход цикла инкремент и присваивание срабатывает как новая операция,
исходя из условий у dima koz "правильней"
-=ЮрА=-
Заблокирован
Автор FAQ
12.06.2012, 17:27     Возведение в степень! #16
instagib, вот код для получения 15-й степени с 5 операциями и 2-мя переменными
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
 
int main()
{
    long A, p1, p2;
    cout<<"Enter val : ";cin>>A;
    cout<<"A2 = "<<(p1 = A*A)<<endl;
    cout<<"A3 = "<<(p2 = p1*A)<<endl;
    cout<<"A5 = "<<(p1 = p2*A)<<endl;
    cout<<"A10= "<<(p2 = p1*p1)<<endl;
    cout<<"A15= "<<(p1 = p2*p1)<<endl;
    system("pause");
    return 0;
}
Миниатюры
Возведение в степень!  
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
12.06.2012, 17:29     Возведение в степень! #17
NoBodyIsPerfect, инкремент счетчика роли тут не играл, алгоритм я показал верный, и думаю стоит закончить на этом
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
12.06.2012, 17:31  [ТС]     Возведение в степень! #18
Спасибо, тема закрыта.
dima koz
 Аватар для dima koz
23 / 17 / 1
Регистрация: 05.06.2012
Сообщений: 72
Записей в блоге: 5
12.06.2012, 17:32     Возведение в степень! #19
C++
1
2
3
4
5
6
int a,b,c,d,e,answer;
b=a*a ;//---(a^2)
c=b*b ;//---(a^4)
d=c*c ;//---(a^8)
e = d * d;//---(a^16)
answer = e / a; ---(a^15)
Тогда так, перепроверял в екселе
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2012, 17:34     Возведение в степень!
Еще ссылки по теме:

C++ Возведение в степень
C++ возведение в степень

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

Или воспользуйтесь поиском по форуму:
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
12.06.2012, 17:34     Возведение в степень! #20
-=ЮрА=-, 2^10 == 256, ага.
У neske правильный алгоритм, просто повторяющиеся арифметические операции занесены в цикл.
Yandex
Объявления
12.06.2012, 17:34     Возведение в степень!
Ответ Создать тему
Опции темы

Текущее время: 19:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru