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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 36, средняя оценка - 4.86
ZarinZomanu4
5 / 5 / 0
Регистрация: 27.05.2013
Сообщений: 91
#1

Возвести число в 10 степень, используя только четыре операции умножения - C++

11.06.2014, 19:54. Просмотров 5901. Ответов 8
Метки нет (Все метки)

Подскажите что не так?При проверке на сайте пишет частичное решение.
Задача:
Напишите программу, которая возводит введенное число в степень 10, используя только четыре операции умножения.
Входные данные
Входная строка содержит единственное вещественное число в диапазоне от 0 до 8.
Выходные данные
Нужно вывести 10-ю степень полученного числа с тремя знаками в дробной части.
Код
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
int main ()
{
    float a,b,c,d;
    cin>>a;
    b=a*a;
    c=b*b;
    d=c*c;
    a=d*b;
    cout<< a;
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2014, 19:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Возвести число в 10 степень, используя только четыре операции умножения (C++):

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

Рекурсивная функция. Возвести число в степень путём многократного умножения самого на себя - C++
помогите #include&lt;iostream.h&gt; int muFunc(int x ,int y ); int main () { short int x , y , z; cout&lt;&lt;&quot; vedit...

Как возвести дробное число в целую степень? К примеру 2,7 возвести в степень 2 на C++. - C++
Как возвести дробное число в целую степень? К примеру 2,7 возвести в степень 2 на C++.

Возведение в степень числа за три операции,используя только умножение - C++
Задание звучит так: не используя никакие другие арифметические операции,кроме умножения(возведение в степень запрещено),для заданного с...

Если введенное число отрицательное и четное, то возвести его в 3 степень, иначе возвести в квадрат - C++
Ввести целое число В. Если В отрицательное и четное, то возвести его в 3 степень, иначе возвести в квадрат

Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения - C++
1.Дано число a. Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения;...

8
MicM
822 / 480 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
11.06.2014, 19:57 #2
Может так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <iomanip>
using namespace std;
 
int main ()
{
    double a,b,c,d;
    cin>>a;
    b=a*a;
    c=b*b;
    d=c*c;
    a=d*b;
    cout <<fixed <<setprecision(3) <<a;
    return 0;
}
1
ZarinZomanu4
5 / 5 / 0
Регистрация: 27.05.2013
Сообщений: 91
11.06.2014, 20:10  [ТС] #3
Спасибо большое помогло.

Добавлено через 4 минуты
Цитата Сообщение от MicM Посмотреть сообщение
fixed <<setprecision(3)
если используется так то выводится 3 знака после запятой, е если
Цитата Сообщение от MicM Посмотреть сообщение
setprecision(3) <<a;
то всего 3 знака.Я правильно понял?
0
MicM
822 / 480 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
11.06.2014, 20:38 #4
Манипулятор fixed говорит о том, что надо использовать вывод чисел с фиксированной точкой
setprecision() устанавливает число знаков после запятой
Обычно они вместе используются
http://www.cplusplus.com/reference/ios/fixed/
http://www.cplusplus.com/reference/iomanip/setprecision/
1
ZarinZomanu4
5 / 5 / 0
Регистрация: 27.05.2013
Сообщений: 91
11.06.2014, 21:28  [ТС] #5
Если не сложно подскажите еще.
Напишите программу, которая вводит два целых числа, a и b ( a < b ), и выводит через пробел 5 случайных целых чисел на отрезке [ a , b ] .
Входные данные
Входная строка содержит два целых числа a и b , разделённых пробелом. Гарантируется, что a < b .
Выходные данные
Нужно вывести в одной строке через пробел 5 случайных целых чисел на отрезке [ a , b ] .
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main ()
{
    int a,b,random_number;
    cin>>a>>b;
     srand(time(NULL));
     for (int i = 0; i < 5; i++) {
    random_number=a+rand() %b; 
    cout<<random_number<<" ";
     }
    return 0;
}
снова частичное решение...

Добавлено через 36 минут
Должно как то решатся без цикла.
0
Somebody
2791 / 1602 / 147
Регистрация: 03.12.2007
Сообщений: 4,197
Завершенные тесты: 1
11.06.2014, 22:28 #6
Цитата Сообщение от ZarinZomanu4 Посмотреть сообщение
C++
1
random_number=a+rand() %b;
Чисел не b, а b - a + 1.
К тому же в условии ничего не сказано про методы генерации случайных чисел. Думаю, можно использовать собственный генератор с нулевой энтропией:
C++
1
random_number = a;
1
ZarinZomanu4
5 / 5 / 0
Регистрация: 27.05.2013
Сообщений: 91
11.06.2014, 22:44  [ТС] #7
а в случае с вещественными числами так правильно будет?
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main ()
{
    float a,b,random_number;
    cin>>a>>b;
     srand(time(NULL));
     for (int i = 0; i < 5; i++) {
    random_number=a+rand() % int ( b-a); 
    cout<<random_number<<" ";
     }
    return 0;
}
0
Somebody
2791 / 1602 / 147
Регистрация: 03.12.2007
Сообщений: 4,197
Завершенные тесты: 1
11.06.2014, 23:10 #8
Цитата Сообщение от ZarinZomanu4 Посмотреть сообщение
а в случае с вещественными числами так правильно будет?
Верхняя граница диапазона будет меньше b. Как решение варианта этой задачи, где ничего не написано про методы генерации случайных чисел, - думаю, пойдёт, а для практического применения - нет.
1
ZarinZomanu4
5 / 5 / 0
Регистрация: 27.05.2013
Сообщений: 91
11.06.2014, 23:26  [ТС] #9
Цитата Сообщение от Somebody Посмотреть сообщение
а для практического применения - нет.
а как правильно сделать для практического применения?
random_number=a+rand() % int ( b+1); ??
0
11.06.2014, 23:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2014, 23:26
Привет! Вот еще темы с ответами:

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

Возвести x в степень y, используя цикл for - C++
Возвести x в степень y, используя цикл for.

Возвести 2 в n-ую степень используя vector - C++
Здравствуйте, мне нужно возвести 2 в n-ую степень используя vector, не используя вектор я могу написать код, а вот с вектором... даже не...

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


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

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

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