Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
svinopapa
10 / 10 / 4
Регистрация: 05.01.2011
Сообщений: 39
1

Используя только операции «*» и «/» вычислить: Аn, минимизировав число операций

07.11.2011, 14:05. Просмотров 1353. Ответов 1
Метки нет (Все метки)

Дано натуральное число А (ввод числа осуществляется в десятичной
системе).. Используя только операции «*» и «/» вычислить: Аn,
минимизировав число операций. Результат вывести на экран в восьмеричной и
шестнадцатеричной системе. Число n указывает преподаватель.

Помогите пожалуйста Пишем на Pelles C.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2011, 14:05
Ответы с готовыми решениями:

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

Используя только операции умножения вычислить y = a^21 за шесть операций
5.Дано целое число a. Используя только операции умножения вычислить y = a^21 за шесть операций.

Используя только операции умножения, вычислить y = a^23 за шесть операций
6.Дано целое число a. Используя только операции умножения вычислить y = a^23 за шесть операций.

Данное натуральное число N. Используя только элементарные арифметические операции (+, -, *, /)
Ув.пользователи, помогите решить задачку (С + + или Visual C + +), очень нужно!( Данное...

Возвести число в 10 степень, используя только четыре операции умножения
Подскажите что не так?При проверке на сайте пишет частичное решение. Задача: Напишите программу,...

1
soon
2549 / 1314 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
07.11.2011, 16:01 2
Можно так попробовать.
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
#include <stdio.h>
#include <math.h>
 
float Pow(float num, int degree)
{
    if(degree == 0)
        return 1;
    if(degree == 1)
        return num;
    return Pow((num * num), (degree / 2)) * ((degree % 2 == 0) ? (1) : (num));
}
 
int main(void)
{
    int num;
    int i;
    float P, p;
    scanf("%d", &num);
    printf("\tmy pow\t pow from math.h\toctal\thex\n") ;
    for(i = 0; i < num; ++i)
    {
        P = Pow((float)num, i);
        p = pow((float)num, i);
        printf("%d^%d = %6.1f\t\t%6.1lf\t\t%o\t%x\n", num, i, P, p, (int)p, (int)p);
    }
    return 0;
}
Код
soon@coming:~/src$ ./main
5
        my pow   pow from math.h        octal   hex
5^0 =    1.0               1.0          1       1
5^1 =    5.0               5.0          5       5
5^2 =   25.0              25.0          31      19
5^3 =  125.0             125.0          175     7d
5^4 =  625.0             625.0          1161    271
Код
5 ^ 5 = 5 * 5 * 5 * 5 * 5 - 4 operations
Pow(5, 5) = Pow(5 * 5, 2) * 5 = 25 * 25 * 5 - 3 operations
При больших числах будут косяки с красивым выводом в консоль
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2011, 16:01

Дано натуральное число a и целое положительное число d. вычислить частное q и остаток r при делении a на d, не используя явно операций деления
Дано натуральное число a и целое положительное число d. вычислить частное q и остаток r при делении...

Вычислить значения -2x+3x^2-4x^3 и 1+2x+3x^2+4x^3, используя минимальное число операций
Дано число x. Вычислить значения -2x+3x^2-4x^3 и 1+2x+3x^2+4x^3, используя минимальное число...

Вычислить a^7 за 4 операции используя только умножение или деление
Вычислить, используя только операции умножения или деления.Вычислить за 4 операции a^7.C#


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru