Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Быстрое возведение числа num в степень deg
- long powerFast(long num, long deg) {
- long result = 1;
- while(deg) {
- if (deg % 2 == 0) {
- deg /= 2;
- num *= num;
- }
- else {
- deg--;
- result *= num;
- }
- }
- return result;
- }
- //Быстрое возведение числа num в степень deg(в том числе может быть отрицательной)
- double powerFast(long num, long deg) {
- double result = 1;
- if(deg < 0) {
- deg = -deg;
- while(deg) {
- if (deg % 2 == 0) {
- deg /= 2;
- num *= num;
- }
- else {
- deg--;
- result *= num;
- }
- }
- return 1 / result;
- }
- else {
- while(deg) {
- if (deg % 2 == 0) {
- deg /= 2;
- num *= num;
- }
- else {
- deg--;
- result *= num;
- }
- }
- return result;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement