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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Ri
48 / 11 / 1
Регистрация: 15.09.2011
Сообщений: 86
#1

задача(( - C++

15.09.2011, 12:51. Просмотров 1091. Ответов 15
Метки нет (Все метки)

помогите пожалуйста((хотя бы просто объсните как это сделать с помощью 2х переменных,что они должны представлять собой:
Дано число A. Вычислить A15, используя две вспомогательные переменные и пять операций умножения. Для этого последовательно находить A2, A3, A5, A10, A15. Вывести все найденные степени числа A.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2011, 12:51     задача((
Посмотрите здесь:

Задача: В некотором государстве ввели компьютерный паспорт гражданина.(задача) - Pascal
Доброго времени суток,форумчане. Хотелось бы попросить помощи в решении одной задачи от умных голов. Задача: В некотором...

Задача на перебор вариантов. Задача Л.Эйлера. Про чиновника - PascalABC.NET
Задача Л.Эйлера. Некий чиновник купил лошадей и быков на сумму 1770 талеров. За каждую лошадь он уплатил по 31 талеру, а за каждого быка по...

Задача на k-тую цифру последовательности, задача на схему Горнера. - Pascal
Ну, собственно опять прошу помощи... Задача 1: Определить k-тую цифру последовательности 1234567891011121314…, в которой выписаны подряд...

Первая смешанная задача для волнового уравнения на отрезке (задача о колебаниях ограниченной струны) методом Фурье - Дифференциальные уравнения
Решить первую смешанную задачу для волнового уравнения на отрезке (задача о колебаниях ограниченной струны) методом Фурье ...

Задача о размещении весов по ящикам (задача о рюкзаках) - Delphi
Есть упорядоченный по невозрастанию набор весов предметов w1..wn, которые необходимо распределить по ящикам способным выдержать вес V,...

Задача линейного программирования, транспортная задача - Методы оптимизации
Всем привет. сижу на экзамене, помогите пожалуйста решить,сроно!!! заранее спасибо.

Задача на файл и задача на создание очереди - Pascal
1 Дан символьный файл, содержащий, по крайней мере, один символ пробела. Удалить из файла все символы, предшествующие пробелу 2 ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.09.2011, 13:00     задача(( #2
Рассматриваете степени
A, A^2, A^4, A^8,
где каждая текущая степень это это квадрат предыдущей. Осталось их перемножить и все
Ri
48 / 11 / 1
Регистрация: 15.09.2011
Сообщений: 86
15.09.2011, 13:01  [ТС]     задача(( #3
спасибо,попробую)
mimicria
return (true);
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
15.09.2011, 13:08     задача(( #4
Цитата Сообщение от Thinker Посмотреть сообщение
A, A^2, A^4, A^8,
Всего 2 переменных и 5 умножений.
Вариант:
C++
1
2
3
4
int A=9;
int B=A*A;
int C=B*B*A; // уже 3 умножения, осталось 2
int RES=C*C*C; // вот и еще 2
Цитата Сообщение от Ri Посмотреть сообщение
Для этого последовательно находить A2, A3, A5, A10, A15.
А вот как с этим быть я не понял =) Потому как 2 промежуточных переменных точно не хватит для всех этих значений. Какое-то условие ошибочно имхо
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.09.2011, 13:10     задача(( #5
mimicria, а это что:

double rez, p;
rez = p = A*A;
p *= p;
rez *= p;
p *= p;
rez *= p;
rez *= A;
mimicria
return (true);
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
15.09.2011, 13:11     задача(( #6
Цитата Сообщение от Thinker Посмотреть сообщение
mimicria, а это что:
6 умножений
Ri
48 / 11 / 1
Регистрация: 15.09.2011
Сообщений: 86
15.09.2011, 13:12  [ТС]     задача(( #7
такое условие(сама не знаю...и возведение в степень не использовать((все мои попытки были пресечены преподавателем
mimicria
return (true);
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
15.09.2011, 13:20     задача(( #8
2 вариант с этими степенями и 5 умножений
C++
1
2
3
4
5
6
int A=9;
int B=A*A; // b - 2 степень
int C=B*A; // c - 3 степень
C*=B; // c - 5 степень
B=C*C; // b - 10 степень
int RES=B*C; // 15 степень
-=ЮрА=-
Заблокирован
Автор FAQ
15.09.2011, 13:26     задача(( #9
Цитата Сообщение от Ri Посмотреть сообщение
Дано число A. Вычислить A15, используя две вспомогательные переменные и пять операций умножения. Для этого последовательно находить A2, A3, A5, A10, A15. Вывести все найденные степени числа A.
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
30
31
32
33
34
35
36
37
//Дано число A. Вычислить A15, используя две вспомогательные переменные 
//и пять операций умножения. Для этого последовательно находить 
//A2, A3, A5, A10, A15. Вывести все найденные степени числа A.
 
#include <iostream.h>
#include <conio.h>
 
//Руссификация
ostream& operator<<(ostream &stream,char* s){
    for(char* ps=s; *ps; ps++){
        if(*ps=='ё')
            stream<<char(241);
        else if(*ps=='Ё')
            stream<<char(240);
        else if(*ps>=-64 && *ps<=-17)           
            stream<<char(*ps+64+128);
        else if(*ps<0)
            stream<<char(*ps+64+176);
        else
            stream<<*ps;
    }
    return stream;
}
 
int main()
{
    long A;
    long buf1,buf2;
    cout<<"Введите A: ";
    cin>>A;
    cout<<"A2 : "<<(buf1 = A*A)   <<"\r\n";   //1 - * A2
    cout<<"A3 : "<<(buf2 = buf1*A)<<"\r\n";   //2 - * A3
    cout<<"A5 : "<<(buf2 = buf2*buf1)<<"\r\n";//3 - * A5
    cout<<"A10: "<<(buf1 = buf2*buf2)<<"\r\n";//4 - * A10
    cout<<"A15: "<<buf1*buf2<<"\r\n";       //5 - * A15
    return 0;
}
Результат

Введите A: 5
A2 : 25
A3 : 125
A5 : 3125
A10: 9765625
A15: 452807053
Press any key to continue
Ri
48 / 11 / 1
Регистрация: 15.09.2011
Сообщений: 86
15.09.2011, 13:38  [ТС]     задача(( #10
а если так?правильно?:
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
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
void main()
{
double A,B,C,RES;
clrscr();
cout<<”\n Введите A ”;
cin>>A;
B=A*A; 
Cout<<”\n A2=;
Cout<<B;
C=B*A; 
Cout<<”\n A3=;
Cout<<C;
C*=B; 
Cout<<”\n A5=;
Cout<<C;
B=C*C; 
Cout<<”\n A10=;
Cout<<B;
RES=B*C; 
Cout<<”\n A15=;
Cout<<RES;
Getch();
Return;
}
и не является ли RES третьей переменной?

 Комментарий модератора 
Используйте теги форматирования кода!
mimicria
return (true);
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
15.09.2011, 13:53     задача(( #11
Цитата Сообщение от Ri Посмотреть сообщение
и не является ли RES третьей переменной?
А чтобы не придрались сделайте так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
void main()
{
double A,B,C;
clrscr();
cout<<”\n Введите A ”;
cin>>A;
B=A*A;
cout<<”\n A2=<<B;
C=B*A;
cout<<”\n A3=<<C;
C*=B;
cout<<”\n A5=<<C;
B=C*C;
cout<<”\n A10=<<B;
cout<<”\n A15=<<B*C;
getch();
return;
}
-=ЮрА=-
Заблокирован
Автор FAQ
15.09.2011, 14:03     задача(( #12
Цитата Сообщение от Ri Посмотреть сообщение
double A,B,C,RES;
- 4-ри переменных, а в твоём условии
Цитата Сообщение от Ri Посмотреть сообщение
используя две вспомогательные переменные и пять операций умножения
. что тебе в моём варианте не подошло, отлично ведь считает???

Добавлено через 7 минут
Ri, вот тебе простой вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream.h>
 
int main()
{
    long A;
    long buf1,buf2;
    cout<<"Enter A: ";
    cin>>A;
    buf1 = A*A;                         //1 - * A2
    cout<<"A2 : "<<buf1<<"\r\n";   
    buf2 = buf1*A;                      //2 - * A3
    cout<<"A3 : "<<buf2<<"\r\n";
    buf2 = buf2*buf1;                   //3 - * A5
    cout<<"A5 : "<<buf2<<"\r\n";
    buf1 = buf2*buf2;                   //4 - * A10
    cout<<"A10: "<<buf1<<"\r\n";
    cout<<"A15: "<<buf1*buf2<<"\r\n";   //5 - * A15
    return 0;
}
Enter A: 5
A2 : 25
A3 : 125
A5 : 3125
A10: 9765625
A15: 452807053
Press any key to continue
Ri
48 / 11 / 1
Регистрация: 15.09.2011
Сообщений: 86
15.09.2011, 14:09  [ТС]     задача(( #13
ну да..с этой RES получилось 3,ведь А не вспомогательная)а насчет первоначального варианта вашего-я не спорю всё замечательно...НО на занятиях мы пользуемся таким видом программ как отправила я)работаем в Borland'е)

Добавлено через 4 минуты
в общем всем большое спасибо)кажется подошел вариант

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
void main()
{
double A,B,C;
clrscr();
cout<<”\n Введите A ”;
cin>>A;
B=A*A;
cout<<”\n A2=<<B;
C=B*A;
cout<<”\n A3=<<C;
C*=B;
cout<<”\n A5=<<C;
B=C*C;
cout<<”\n A10=<<B;
cout<<”\n A15=<<B*C;
getch();
return;
}
-=ЮрА=-
Заблокирован
Автор FAQ
15.09.2011, 14:37     задача(( #14
Цитата Сообщение от Ri Посмотреть сообщение
я)работаем в Borland'е)
- опять вариант mimicria
Ri, этот код
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
#include <iostream.h>
int main()
{
* * * * long A;
* * * * long buf1,buf2;
* * * * cout<<"Enter A: ";
* * * * cin>>A;
* * * * buf1 = A*A; * * * * * * * * * * * * * * * * * * * * * * * * * * //1 - * A2
* * * * cout<<"A2 : "<<buf1<<"\r\n"; *
* * * * buf2 = buf1*A;* * * * * * * * * * * * * * * * * * * * * //2 - * A3
* * * * cout<<"A3 : "<<buf2<<"\r\n";
* * * * buf2 = buf2*buf1; * * * * * * * * * * * * * * * * * * * //3 - * A5
* * * * cout<<"A5 : "<<buf2<<"\r\n";
* * * * buf1 = buf2*buf2; * * * * * * * * * * * * * * * * * * * //4 - * A10
* * * * cout<<"A10: "<<buf1<<"\r\n";
* * * * cout<<"A15: "<<buf1*buf2<<"\r\n"; * * * //5 - * A15
* * * * return 0;
}
идёт в БОРЛАНДЕ, вот скрин

Ri, скомпилируй код - всё работает, что ещё надобно то
Миниатюры
задача((  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2011, 14:46     задача((
Еще ссылки по теме:

Задача Дам или задача Восьми - Алгоритмы
помогите найти ошибку в алгоритме. не находит ответ подозреваю ошибку в k, i, j package com.company; import java.util.Arrays;...


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

Или воспользуйтесь поиском по форуму:
Ri
48 / 11 / 1
Регистрация: 15.09.2011
Сообщений: 86
15.09.2011, 14:46  [ТС]     задача(( #15
спасибо)
Yandex
Объявления
15.09.2011, 14:46     задача((
Ответ Создать тему
Опции темы

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