17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740
|
||||||
1 | ||||||
Возведение в степень (результат всегда = 0)12.12.2013, 18:42. Показов 3482. Ответов 21
Метки нет (Все метки)
Привет всем. Люди, помогите с задачей. Я новичок, учусь в универе. Понимаю, что задача элементарная, но не могу понять одного. Нужно возвести число a в степень k.
0
|
12.12.2013, 18:42 | |
Ответы с готовыми решениями:
21
Вычислить сумму чисел от 1 до N, возведенных в степень M. Возведение в степень оформить как многократное умножение Возведение в степень! возведение в степень! Возведение в степень. C++ |
Модератор
8909 / 6678 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
|
||||||
12.12.2013, 18:47 | 3 | |||||
не получится
тебе нужно
http://lord-n.narod.ru/downloa... /scanf.htm
0
|
193 / 170 / 32
Регистрация: 09.09.2013
Сообщений: 522
|
|
12.12.2013, 18:51 | 4 |
0
|
17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740
|
||||||
12.12.2013, 19:32 [ТС] | 8 | |||||
Написал так
0
|
12.12.2013, 20:15 | 9 |
C++ #include <stdio.h> long int mul(long int n, int m) { long int l = 1; for(int i = 0; i < m; i++) l *= n; return l; } long int a; int k; int main() { scanf("%ld", &a); scanf("%d", &k); long int x = mul(a, k); printf("%ld\n", x); return 0; }
0
|
22 / 22 / 8
Регистрация: 18.10.2013
Сообщений: 62
|
||||||
12.12.2013, 20:49 | 10 | |||||
Я бы так делал
0
|
22 / 22 / 8
Регистрация: 18.10.2013
Сообщений: 62
|
|
13.12.2013, 01:30 | 12 |
Функция возведения числа в степень на основе его двоичного представления. Проверьте, если не верите.
0
|
17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740
|
||||||
13.12.2013, 03:23 [ТС] | 13 | |||||
Блин, ребят, ничего не получается. Попробовал такой вариант
0
|
163 / 104 / 14
Регистрация: 17.10.2012
Сообщений: 488
|
|
13.12.2013, 03:29 | 14 |
Бесконечная рекурсия - функция pow возвращает результат функции pow и так бесконечно
0
|
Модератор
8909 / 6678 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
|
|
13.12.2013, 10:08 | 15 |
попробуй словами описать что делает эта функция
а что числа в компьютере лежат не в двоичном формате? проверяем 32 простой способ 3*3 одно действие 6-12 тактов процессора твой алгоритм 3!=0 истина ветвление 3%2=1 деление с остатком 40 тактов ( здесь правда это будет 3&1 один такт) плюс ветвление 1*3 r=3умножение 6-12 тактов процессора 3*3 x=9 умножение 6-12 тактов процессора 3/2=1 n=1 деление около 40 тактов( здесь правда будет сдвиг 1 такт) 1!=0 истина ветвление 1%2=1 деление с остатком 40 тактов ( здесь правда это будет 1&1 один такт) плюс ветвление 3*9 r= 27 умножение 6-12 тактов процессора 9*9 x=81 умножение 6-12 тактов процессора 1/2=0 деление около 40 тактов( здесь правда будет сдвиг 1 такт) 0!=0 ложь -выход ветвление итого гораздо медленней плюс неправильный результат может на больших числах и будет выигрыш, если подправишь свой алгоритм и заменишь n=n / 2; на сдвиг вправо а n % 2 на n&0x01 не все компиляторы деление на степень двойки переводят в сдвиг
2
|
22 / 22 / 8
Регистрация: 18.10.2013
Сообщений: 62
|
|
13.12.2013, 18:35 | 16 |
Не буду спорить, алгоритм может и действительно медленнее других, но как вариант)
0
|
Модератор
8909 / 6678 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
|
||||||
13.12.2013, 19:29 | 17 | |||||
а зря
нужно уметь отстаивать свою точку зрения при больших n он действительно быстрее например n 64 в классическом 64 итерации а в твоем 6 при больших правда результат в int не влезет даже в long я переписал твой код избавился от ветвления и переименовал а то в твоем имени читается "шаг"
0
|
17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740
|
|
13.12.2013, 19:35 [ТС] | 18 |
Я просто попробовал решить задачу с помощью определения функции. Не получилось.
Вот короче моя задача: Для заданного целого а и натурального k вычислить a^k. Input В первой строке записано количество Т тестов. В каждой из последующих Т строк записаны два числа, разделенных пробелом: a и k (-32000 < a ≤ 32000, 0 < k ≤ 32000). Output Для каждого тестового случая вывести в отдельную строку единственное число a^k. Гарантируется, что ответ не превосходит по модулю 2^61-1 Примеры Входные данные 2 1 1 2 3 Результат работы 1 8 Капец, я не думал, что на простой степени так застопорюсь.
0
|
4 / 4 / 1
Регистрация: 25.11.2013
Сообщений: 108
|
||||||
13.12.2013, 19:51 | 20 | |||||
Шилдт в помощь Собственно студенты кроме лекций любят почитать книги о программировании, или они им неинтересные?
Собственно кодес
Добавлено через 1 минуту Правда там, класс...
0
|
13.12.2013, 19:51 | |
13.12.2013, 19:51 | |
Помогаю со студенческими работами здесь
20
Возведение в степень Возведение в степень Возведение a в степень b Возведение в степень Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |