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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.65
zorn16
0 / 0 / 0
Регистрация: 30.12.2009
Сообщений: 36
#1

Возведение числа n в степень m. - C++

24.03.2010, 09:10. Просмотров 2634. Ответов 9
Метки нет (Все метки)

Написать программу - возведение числа n в m-ю степень. Входные данные поступают с клавиатуры. Результат выводится на экран.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
UKOL
112 / 64 / 7
Регистрация: 17.11.2009
Сообщений: 258
24.03.2010, 09:12     Возведение числа n в степень m. #2
Была такая тема уже вчера Написать функцию A в степени X

Можешь поиском попробовать поискать

Возведение числа в степень. Не могу найти ошибку
zayaz
6 / 6 / 1
Регистрация: 13.03.2010
Сообщений: 34
24.03.2010, 10:00     Возведение числа n в степень m. #3
Вот мой вариант (типа работает)
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
#include<iostream.h>
float myFunc(int x,int y);
int main()
{
float voz, rez;
unsigned short x,y;
cout<<"Enter chislo: ";
cin>>x;
cout<<"Enter stepen': ";
cin>>y;
rez=myFunc(x,y);
cout<<"\n\t\n"<<rez;
 cout<<"\n Another - press 1, exit - anykey...\n";
 cin>>voz;
 if (voz==1)
     main();
return 0;
}
 
float myFunc(int x,int y)
{
 float rez;
 if (y<1)
 return(1);
 rez=x*myFunc(x,y-1);
 return rez;
 
 
}
KIRASIR
5 / 5 / 0
Регистрация: 24.03.2010
Сообщений: 26
24.03.2010, 15:50     Возведение числа n в степень m. #4
а если так
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
main(){
int m=0,n=0,i=0,t=0;
printf("vvedite n");
scanf("%i",&n);
printf("vvedite m");
scanf("%i",&m);
for(i=1;i<=m;i++){
n=n*n;
}
printf("n=%i",n);
}
токлько надо проверить
zayaz
6 / 6 / 1
Регистрация: 13.03.2010
Сообщений: 34
24.03.2010, 18:43     Возведение числа n в степень m. #5
Ваш вариант с циклом значительно понятнее и проще(наверняка рабочий - не проверял). В моем же варианте основная фишка это рекурсия (ИМХО значительно сложнее, но делалось именно закрепить тему).
OffyGhost
7 / 7 / 1
Регистрация: 04.03.2010
Сообщений: 107
24.03.2010, 19:05     Возведение числа n в степень m. #6
C++
1
2
3
4
float f (float x)
{
    return pow(2,x);
}
рекурсия на 2 в степени x =)

гдето пишешь в коде
C++
1
q= f(j);
то есть ку это реккурсия на f возведение в степень с переменной j
UKOL
112 / 64 / 7
Регистрация: 17.11.2009
Сообщений: 258
24.03.2010, 19:21     Возведение числа n в степень m. #7
Цитата Сообщение от OffyGhost Посмотреть сообщение
C++
1
2
3
4
float f (float x)
{
    return pow(2,x);
}
рекурсия на 2 в степени x =)

гдето пишешь в коде
C++
1
q= f(j);
то есть ку это реккурсия на f возведение в степень с переменной j
Но то что вы написали это не рекурсия, это просто рекрусивная математическая функция...

Да и смысла нет такой код писать, когда можно pow(n,m) и делов то...

Ему не подходит, ему нужно написать саму логику похоже.
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
24.03.2010, 21:51     Возведение числа n в степень m. #8
KIRASIR,
C++
1
2
3
4
5
6
7
int func(int a, int x){
while(x<=1){
a=a*a;
--x;
return a;
}
}
Добавлено через 4 минуты
кстати,исправил
C++
1
2
3
4
5
6
7
int func(int a, int x){
while(x>1){
a=a*a;
--x;
 
}return a;
}
KIRASIR
5 / 5 / 0
Регистрация: 24.03.2010
Сообщений: 26
08.04.2010, 22:40     Возведение числа n в степень m. #9
а можно проще подключить <math.h> и воспользоваться функцией pow(x,y)=x^y.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2010, 23:21     Возведение числа n в степень m.
Еще ссылки по теме:

C++ Возведение из числа степень
C++ Возведение числа а в степень n
C++ Возведение числа в степень n-1
Возведение числа в целую степень C++
Возведение в степень вводимого числа C++

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

Или воспользуйтесь поиском по форуму:
From_Tula
40 / 40 / 2
Регистрация: 22.05.2009
Сообщений: 472
08.04.2010, 23:21     Возведение числа n в степень m. #10
МедведЪ,
твой пример:

C++
1
2
3
4
5
6
7
int func(int a, int x){
while(x>1){
a=a*a;
--x;
 
}return a;
}
например 4 в 3 степени
a=4
x=3

a=4*4=16;
x=2;

a=16*16=256;
x=1;

А ответ должен 64 быть.
Вот так по идее должно быть.
C++
1
2
3
4
5
6
7
8
int func(int a, int x){
int step=a;
while(x>1){
a=a*step;
--x;
 
}return a;
}

KIRASIR, В твоём примере с for такая же ошибка
Yandex
Объявления
08.04.2010, 23:21     Возведение числа n в степень m.
Ответ Создать тему
Опции темы

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