快速求2的n次幂(防Time Limit Exceeded)
用c++写的一段代码,快速求出2的n次幂(数组实现)
代码如下:
#include <iostream>
const int N = 1000; //数组长度,可增加,但必须是常量
using namespace std;
int main(){int a[N] = {1}; //初始化数组第一位为1,其余为0;int n,m;cin>>n; //获取幂次m = 1; //每次乘2操作都要从下标0开始到下标为m-1for(int i = 0;i < n;i++){int t = 0;for(int j = 0;j < m;j++){t+=a[j]*2; a[j] = t%10; t/=10; //如果t>10就进位
}if(t) a[m++] = 1; //进位操作,将数组中下标为m的值变为1,m在进行自增。}for(int i = m - 1;i >= 0;i--) //因为进位后要进行自增操作,所以最高位下标为m-1cout<<a[i]; //从最高位开始输出结果cout<<endl;
}
谢谢观看
快速求2的n次幂(防Time Limit Exceeded)相关推荐
- LeetCode Super Pow(快速求幂算法)
题意:给出底数a,指数b(很大的数,用数组形式给出,每个元素为1位),求其对1337的模 思路:在遍历数据过程中,用ans(n)表示上一次计算结果,则ans(n+1) = pow(ans(n), 10 ...
- 快速求幂(Quick Exponentiation)
接触ACM没几天,向各路大神求教,听说ACM主要是研究算法,所以便开始了苦逼的算法学习之路.话不多说,RT所示,学习快速求幂. 在头文件<math.h>或是<cmath>中,d ...
- VBA实现矩阵快速求幂
不管求一个数的幂还是矩阵的幂,比如a^16,把a做15次乘法是最容易想到的方法,但这样效率特别低.其实可以先算出a^2,其平方就是a^4,再平方就是a^8,最后平方一次,就是a^16,只要4次乘法就够 ...
- 快速求出淘汰赛中轮空场次-最简单的算法
如果快速求出N个人参加的淘汰赛中轮空的场次数. N可以使任意数,也就是任意人数参加的比赛. 例如:37个人参加淘汰赛,那么无论怎么安排比赛顺序,总是有4场比赛有运动员会轮空. 答案是:假如m个人参加比 ...
- 求a的b次幂的最后3位(难度:1颗星)
问题描述: 输入a,b,其中a和b的范围是[2,999999999],求出a的b次幂的最后3位. PS: 如果最后三位是001,那么输出1就可以了. 问题分析: 这个问题的实际上是求a的b次幂mod ...
- 快速幂----快速求解底数的n次幂
目录 一.快速幂 1.问题的引入 2.快速幂的介绍 3.核心思想 4.代码实现 二.Pow(x, n) 1.题目描述 2.问题分析 3.代码实现 三.猴子碰撞的方法数 1.题目描述 2.问题分析 3. ...
- 08、求x的y的幂次方的最后3位数——循环
求x的y的幂次方的最后3位数 求x的y的幂次方的最后3位数 程序代码如下: /*2017年3月12日14:07:05功能:程序求x的y的幂次方的最后3位数*/#include"stdio.h ...
- 华为上机:求2的N次幂的值
求2的N次幂的值 描述: 求2的N次幂的值(N最大不超过31,用位运算计算,结果以十六进制进行显示). 运行时间限制: 无限制 内存限制: 无限制 输入: 数字N 输出: 2的N次方(16进制,需要按 ...
- C语言循环求出2的10次幂,C语言求2的100次幂的结果.doc
C语言求2的100次幂的结果 求2的100次幂的结果 #include #include #include #include void main void int a,b,i; char s[40], ...
- 数学 —— 其他 —— 快速求逆平方根
[概述] 越底层的函数,调用越频繁,那么最底层的数学运算函数的优化至关重要. 当求逆平方根时,一般做法都是用函数返回 1/sqrt(x),但在 雷神之锤3 中,有一快速求逆平方根的算法. [知识储备] ...
最新文章
- 常用windows命令
- php 字段验证类库,PHP验证类库常用数据安全验证
- java 英文分词器使用代码_java文本英文分词
- 本机在合成图片经常提示内存不足
- 你的专业 VS 你妈口中你的专业
- va_list和vsnprintf、getopt
- 卡巴斯基将支持微软企业安全解决方案Forefront
- Mybatis的动态拼接条件
- 项目管理综述(需要完善)
- 面向对象:寻寻觅觅,诚邀你一起来解开这道迷题
- 博德之门联机等待服务器响应,《博德之门》系列疑难解答
- IEEE 802.3标准简介以及各分类标准汇总
- ps如何用创建和使用动作
- 分享 25 个有用的 JS 单行代码
- 基于java的健身房会员卡管理系统ssh框架
- vscode 登陆leetcode 报错:Accessing non-existent property ‘padLevels‘ of module
- YOLOv3使用笔记
- 负基础也能搞懂之“Gauss消元法的MATLAB实现”
- 极简WEB文件管理工具(群晖)——TinyManager
- 找回被删除的 Git Stashes
热门文章
- input 禁止 复制 粘贴 剪切 操作
- axios基于常见业务场景的二次封装
- 鳄梨种植者使用传感器节省种植成本
- TestDriven.NET 2.0——单元测试的好助手(转)
- 为什么DNN的SectionHead Control图片无法显示,也无法折叠
- CSS文件在jsp 文件中应该放的位置
- WIN10英文版改中文
- SQL字符串转换为数组
- Amoeba 实现Mysql的读写分离
- arcgis for android 学习 - (5) 在地图指定位置添加“标记“,并尝试选中它