当前位置: 首页 > news >正文

快速幂(c++题解)

题目描述

我们通常把a的b次方记作a^b,为了方便,我们经常直接使用C++内置函数pow(a,b)来完成这个工作,但a的b次方就是把a垒乘b次,时间复杂度为O(b),当b值很大时,将会耗去大量时间,所以请同学们不能再偷懒了,直接写一个快速幂函数记作qkpow(a,b)

本题需要你求出2的n次方(n<63)

输入格式

一个非负整数n(n<63)

输出格式

输出2^n次方的结果

样例

样例输入
复制62
样例输出
复制4611686018427387904

非常神奇暴力过了,不要模仿: 

#include <bits/stdc++.h>
using namespace std;
int n;
long long m[10000005],x=1;
int main(){cin>>n;for(int i=1;i<=n;i++){x*=2;}cout<<x;
}

_____________________________________________________________________________

写作不易,点个赞呗!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 

_____________________________________________________________________________

正常代码: 

#include <bits/stdc++.h>
using namespace std;
int a,b,c;
long long f(long long n){if(n==1)return 2;if(n==0)return 1;long long x=f(n/2);if(n%2==0)return x*x;else return 2*x*x;
}
int main() { cin>>a;cout<<f(a);
}

http://www.lryc.cn/news/309231.html

相关文章:

  • C#单向链表实现:Append,Move,Delete,InsertAscending, InsertUnAscending,Clear
  • python基础-基本数据类型深入-2.1
  • Android LiveData Cannot add the same observer with different lifecycles
  • MongoDB聚合运算符:$cmp
  • 【C++基础知识详细记录】
  • Socket网络编程(五)——TCP数据发送与接收并行
  • 2024最新-ubuntu22.04安装最新版QT6.6~6.8教程
  • STM32------分析GPIO寄存器
  • 数学实验-Matlab使用(1)
  • kafka文件存储机制和消费者
  • 《汇编语言》- 读书笔记 - 第15章-外中断
  • 【Vue3】CSS 新特性
  • 四信水电站泄洪预警方案,精准提升防汛应急水平
  • k8s中容器的调度与创建:CRI,cgroup
  • Unity安装与简单设置
  • 数据库的介绍、分类、作用和特点
  • 【Unity】机器人末端执行器仿真
  • 更换个人开发环境后,pycharm连接服务器报错Authentication failed
  • E - Bad Juice
  • 用HTML5的<canvas>元素实现刮刮乐游戏
  • TypeScript + react 中 TypeScript 的加入后 , 有哪些优化项目
  • Redis学习路径(构建体系)
  • 【README 小技巧】 展示gitee中开源项目start
  • tcping实用小工具
  • 【Web】Java反序列化之CC2——commons-collections4的新链之一
  • golang使用gorm操作mysql1
  • Flutter异常上报及性能监控实现
  • 基于springboot+vue的工厂车间管理系统
  • Java基础 - Stream 流:Stream API的终端操作
  • 高级语言期末2009级A卷(计算机学院)