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

Цикл: Используя только операции умножения и деления вычислить: A^n (A в степени n) , минимизировав число операций - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.60
Vampire110
17 / 17 / 0
Регистрация: 18.05.2011
Сообщений: 33
23.10.2011, 01:49     Цикл: Используя только операции умножения и деления вычислить: A^n (A в степени n) , минимизировав число операций #1
Дано натуральное число A ( Ввод числа производится в шеснадцатеричной системе ). Используя только операции умножения и деления вычислить: A^n (A в степени n) , минимизировава число операций. Результат вывести на экран в десятиричной системе. степень n равно 37.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2011, 01:49     Цикл: Используя только операции умножения и деления вычислить: A^n (A в степени n) , минимизировав число операций
Посмотрите здесь:

C++ Дано целое число N(>0).используя операции деления нацело и взятия остатка от деления, найти количество и сумму его цифр
C++ Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения
Используя только операции «*» и «/» вычислить: Аn, минимизировав число операций C++
Не пользуясь никакими другими арифметическими операциями, кроме умножения, сложения и вычитания, вычислить за минимальное число операций C++
Данное натуральное число N. Используя только элементарные арифметические операции (+, -, *, /) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
23.10.2011, 02:14     Цикл: Используя только операции умножения и деления вычислить: A^n (A в степени n) , минимизировав число операций #2
http://www.cyberforum.ru/cgi-bin/latex.cgi?a^{37} \, = \, a \, * \, \(\(a^{3}\)^{3}\)^{4} 8 умножений

Добавлено через 14 минут
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
 
long long int quad(long long int x){
    return x * x;
}
 
long long int cube(long long int x){
    return x * x * x;
}
 
long long int quart(long long int x){
    return quad(x) * quad(x);
}
 
int main()
{
    /**не уверен насчет однопроцессорных архитектур х32**/
    long long int x = 0xa;
    printf("%lli", x * quart( cube( cube(x) ) ) );
    return 0;
}
magirus
24.10.2011, 17:07
  #3
 Комментарий модератора 
называйте темы информативно
gogajeti
4 / 4 / 0
Регистрация: 19.10.2011
Сообщений: 20
24.10.2011, 18:00     Цикл: Используя только операции умножения и деления вычислить: A^n (A в степени n) , минимизировав число операций #4
есть алгоритм быстрого возведения в степень в википедии
Alex330
118 / 118 / 4
Регистрация: 12.06.2012
Сообщений: 130
19.06.2012, 13:36     Цикл: Используя только операции умножения и деления вычислить: A^n (A в степени n) , минимизировав число операций #5
напишу только идею:

А1 = А*А (первое умножение А1 содержит квадрат А)
А2 =А1*А1 (второе умножение А2 содержит четвертую степень А)
А3= А2*А2 (третье умножение А3 содержит восьмую степень А)
А4= А3*А3 (четвертое умножение А4 содержит шестнадцатую)
А5=А4*А4 (пятое умножение А4 содержит тридцать вторую)
А6 = А5*А2 (шестое умножение А6 содержит тридцать шестую)
Return = А6*А (седьмое умножение, искомая 37 степень)
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
19.06.2012, 15:11     Цикл: Используя только операции умножения и деления вычислить: A^n (A в степени n) , минимизировав число операций #6
Alex330, молодец, задачу выполнил. На дату поста посмотри
Yandex
Объявления
19.06.2012, 15:11     Цикл: Используя только операции умножения и деления вычислить: A^n (A в степени n) , минимизировав число операций
Ответ Создать тему
Опции темы

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