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

Возведение в степень без умножения - C++

Восстановить пароль Регистрация
 
kre-sod
0 / 0 / 0
Регистрация: 25.03.2014
Сообщений: 16
Записей в блоге: 9
04.04.2014, 16:35     Возведение в степень без умножения #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 30_square.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "../../std_lib_facilities.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
    int square (int x)
    {
    int n;
    int i =0
        for (i=0;i<n;++i) {
            i+i;
        }
            return x;
    }
    system("pause");
    return 0;
}
Это даже не черновик, это попытка его сделать. ВООБЩЕ не могу сообразить, на бумаге я могу написать 16=4+4+4+4 (вместо 4^2), а в программе даже не представляю
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2014, 16:35     Возведение в степень без умножения
Посмотрите здесь:

Возведение в степень с помощью умножения C++
Возведение в степень C++
возведение в степень C++
C++ Возведение степень
C++ Возведение в степень
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aneron
 Аватар для Aneron
157 / 156 / 12
Регистрация: 20.04.2010
Сообщений: 570
04.04.2014, 17:17     Возведение в степень без умножения #2
C++
1
2
3
4
5
6
7
int square (int x)
{
int res = 0;
for (int i=0;i<n;++i) 
res += x;
return res;
}
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
04.04.2014, 17:22     Возведение в степень без умножения #3
Цитата Сообщение от kre-sod Посмотреть сообщение
int n;
* * int i =0
* * * * for (i=0;i<n;++i) {
* * * * * * i+i;
* * * * }
* * * * * * return x;
А что за переменная n?.. Вы ей не дали значение и до какого чуда будет выполняться for? Плюс...Возведение в степень - это умножение, но не суммирование. Потому просто просуммировать столько-то раз - это не то. Двойка в кубе - это восемь, а не шесть.
Hrollo
34 / 34 / 6
Регистрация: 05.11.2013
Сообщений: 147
04.04.2014, 18:36     Возведение в степень без умножения #4
у меня получилось как то так, хотя наверное не самый оптимальный вариант...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
 
 
using namespace std;
 
 
int main()
{
    int numb;
    cout<<"Enter numb:";
    cin>>numb;
    cout<<"Enter pow:";
    int pow;
    cin>>pow;
    int *A = new int[pow];
    A[0] = numb;
    for(int i(1);i<pow;i++)
    {
        int temp = 0;
        for(int j(0);j<numb;j++)
        {
            temp+=A[i-1];
        }
        A[i] = temp;
    }
    cout<<A[pow-1]<<endl;
    delete []A;
    return 0;
}
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
04.04.2014, 18:40     Возведение в степень без умножения #5
Цитата Сообщение от Hrollo Посмотреть сообщение
у меня получилось как то так,
имя pow поменяй это название функции возведения в степень, возможны конфликты
кстати
Цитата Сообщение от kre-sod Посмотреть сообщение
Возведение в степень без умножения
может это просто
C++
1
pow(a,b);
Hrollo
34 / 34 / 6
Регистрация: 05.11.2013
Сообщений: 147
04.04.2014, 18:42     Возведение в степень без умножения #6
согласен неправильно выбрал имя, спасибо
Yandex
Объявления
04.04.2014, 18:42     Возведение в степень без умножения
Ответ Создать тему
Опции темы

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