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

Вычисление степени числа А с натуральным показателем n - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать класс для обработки информации о различных датах http://www.cyberforum.ru/cpp-beginners/thread719959.html
5.1. Создать класс для обработки информации о различных датах. Каждая дата - это число, месяц, год, название даты. Функции: а) функция ввода информации о дате; б) функция вывода информации о дате; в) функция, возвращающая год даты; г) функция, определяющая, принадлежит ли дата сезону, заданному переменной Х. Думал,как выполнить 4 пункт. Вот,что получается: мы вводим месяц(цифрой),и...
C++ как выделить 3 первых предложения 1,2,3 и вывести их в обратном порядке 3,2,1 ? Ребят, нужно написать программу, которая считывает текст из файла и обрабатывает его. Обработку текстовой информации нужно организовать с использованием С – строк, т. е. массивов символов, завершающихся символом с кодом ‘\0’. #include <stdio.h> #include <iostream> #include <string> #include <windows.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread719958.html
Ввести структуру, составить функции C++
Задание Ввести структуру ИСТОРИЧЕСКОЕ СОБЫТИЕ с полями ГОД, СОБЫТИЕ. Составить функцию a) вычисляющую в каком году произошло больше всего событий; b) формирующую новый список из событий, произошедших в этом году. помогите написать функцию a) вычисляющую в каком году произошло больше всего событий;
C++ Логическое выражение в условном операторе
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8: первое – номер вертикали, второе – номер горизонтали. Заданы натуральные числа k, l, m, n. Можно ли с поля (k, l) одним ходом ладьи попасть на поле (m, n)?
C++ Нахождение делителей числа http://www.cyberforum.ru/cpp-beginners/thread719939.html
Даны натуральные числа n, m. Получить наименьшее общее кратное (НОК) чисел n, m. НОК(n, m) = n*m / НОД(n, m).
C++ вывод от 32ого до 255 символа Выведите на экран все возможные символы с ASCII-кодами от 32 до 255 (символы с кодами до 32 являются служебными и их вывод на экран может привести к курьезным последствиям) и их ASCII-коды. Формат вывода: сначала ASCII-код, затем символ, например, 32 33 ! 34 " 35 # #include<iostream> #include<conio.h> #include<cstring> подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
05.12.2012, 10:36     Вычисление степени числа А с натуральным показателем n
Цитата Сообщение от teac2011 Посмотреть сообщение
Составьте программу вычисления степени числа А с натуральным показателем n. (записать варианты программы с разными видами циклов white,repeat,for)
Репит - это паскаль, на сях do while. Степень с натуральным показателем есть произведение равных основанию множителей в количестве, равном показателю. Отсюда
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
double Degree1(double A, unsigned int n)
{
 double result;
 for (result=1.0; n>0; --n)
 {
  result*=A;
 }
 return result;
}
double Degree2(double A, unsigned int n)
{
 double result;
 result=1.0;
 while (n>0)
 {
  result*=A;
  --n;
 }
 return result;
}
double Degree3(double A, unsigned int n)
{
 double result;
 result=1.0;
 if (n>0)
 {
  do
  {
   result*=A;
   --n;
  } while (n>0);
 }
 return result;
}
double Degree4(double A, unsigned int n)
{
 if (n==0)
 {
  return 1.0; 
 }
 return A*Degree4(A, n-1);
}
double Degree5(double A, unsigned int n)
{
 unsigned int n1;
 if (n==0)
 {
  return 1.0; 
 }
 n1=n/2;
 return Degree5(A, n1)*Degree5(A, n-n1);
}
Добавлено через 23 секунды
Последние две - рекурсивные.

Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
double Degree(double A, int n);
int main()
{
 double A;
 double y;
 int n;
 std::cin>>A;
 std::cin>>n;
 y=Degree(A, n);
 std::cout<<y<<std::endl;
 return 0;
}
/*На место этого комментария вставляй любую из функций Degree, только без номера*/
. Или тебе для наглядности сравнения резульатов всё в одну прогу?

Добавлено через 1 минуту
Тогда
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <iostream>
double Degree1(double A, int n);
double Degree2(double A, int n);
double Degree3(double A, int n);
double Degree4(double A, int n);
double Degree5(double A, int n);
int main()
{
 double A;
 double y1;
 double y2;
 double y3;
 double y4;
 double y5;
 int n;
 std::cin>>A;
 std::cin>>n;
 y1=Degree1(A, n);
 y2=Degree2(A, n);
 y3=Degree3(A, n);
 y4=Degree4(A, n);
 y5=Degree5(A, n);
 std::cout<<y1<<std::endl;
 std::cout<<y2<<std::endl;
 std::cout<<y3<<std::endl;
 std::cout<<y4<<std::endl;
 std::cout<<y5<<std::endl;
 return 0;
}
double Degree1(double A, unsigned int n)
{
 double result;
 for (result=1.0; n>0; --n)
 {
  result*=A;
 }
 return result;
}
double Degree2(double A, unsigned int n)
{
 double result;
 result=1.0;
 while (n>0)
 {
  result*=A;
  --n;
 }
 return result;
}
double Degree3(double A, unsigned int n)
{
 double result;
 result=1.0;
 if (n>0)
 {
  do
  {
   result*=A;
   --n;
  } while (n>0);
 }
 return result;
}
double Degree4(double A, unsigned int n)
{
 if (n==0)
 {
  return 1.0; 
 }
 return A*Degree4(A, n-1);
}
double Degree5(double A, unsigned int n)
{
 unsigned int n1;
 if (n==0)
 {
  return 1.0; 
 }
 n1=n/2;
 return Degree5(A, n1)*Degree5(A, n-n1);
}
 
Текущее время: 11:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru