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

Как работает алгоритм возведения числа a в степень n ? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дается последовательность. Найдите максимальное произведение среди всех пар этих чисел http://www.cyberforum.ru/cpp-beginners/thread789114.html
Е. Дается последовательность из N чисел. Найдите максимальное произведение среди всех пар этих чисел. Первая строка входного файла содержит целое число N. В следующей строке вводится N целых чисел...
C++ Заданы две строки. Можно ли переставить буквы в одном из слов так, чтобы слова стали одинаковыми? F. Заданы две строки А и В. Можно ли переставить буквы в одном из слов так, чтобы слова стали одинаковыми? Выведите "Yes", если можно переставить буквы в одном из слов, чтобы слова стали одинаковыми... http://www.cyberforum.ru/cpp-beginners/thread789113.html
C++ с чего начать новичку С++ без опыта работы?
Такая проблема. Есть человек, прочитал 2 книжки по языку С++. Программистом конечно не назовёшь, но так, кодер нормальный. Как развиваться дальше? Можно конечно прочитать ещё книгу по С++ и ещё, и...
Задано целое число N. Найдите сумму простых чисел до N C++
С. Задано целое число N. Найдите сумму простых чисел до N. 1<=N<=1000 C.in 5 C.out 10 comment (2+3+5=10)
C++ Дается строка. Нужно вывести все цифры, которые встречаются в ней и их количество http://www.cyberforum.ru/cpp-beginners/thread789102.html
B. Дается строка S. Нужно вывести все цифры, которые встречаются в ней и их количество. 1<=|S|<=1000 B.in 90109914 B.out 0 2 1 2 4 1 9 3
C++ составить программу с исп. рекурсии и без нее Вычислить √(1+√(2+√(3+ √n )) ) Написать написано, а вот рекурсия работает не так #include<iostream.h> #include<math.h> double f(int n) { if (n==1) return 1; else подробнее

Показать сообщение отдельно
palva
2614 / 1836 / 263
Регистрация: 08.06.2007
Сообщений: 6,995
Записей в блоге: 4
21.02.2013, 11:01
Представим http://www.cyberforum.ru/cgi-bin/latex.cgi?n в двоичной системе с двоичными цифрами http://www.cyberforum.ru/cgi-bin/latex.cgi?b_i=0|1 :
http://www.cyberforum.ru/cgi-bin/latex.cgi?n=\sum_{i=0}^{32}n=b^i2^i
тогда
http://www.cyberforum.ru/cgi-bin/latex.cgi?a^n = a^{\sum_{b^i\ne0} 2^i}=\prod_{b^i\ne0} a^{2^i}
Последовательность степеней http://www.cyberforum.ru/cgi-bin/latex.cgi?a^{2^i} вычисляется в строчке 19. А домножение, которое надо производить если соответствующая двоичная цифра не равна нулю делается в строчке 24. Программу можно написать экономней и, я бы сказал, откровенней, используя проверки двоичных цифр и двоичные сдвиги не маскируя их под арифметические операции. Тогда, возможно, будет понятней.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru