PTA-快速幂
要求实现一个递归函数,高效求ab(1≤a,b≤62,ab<263)。
函数接口定义:
long long int pow(int a, int b);
其中a 、b 是用户传入的参数。
裁判测试程序样例:
#include<iostream>
using namespace std;
long long int pow(int a, int b); //求a^b //输入整数a,b,求 a^b,处理到文件尾
int main() {
int a,b;
while(cin>>a>>b) {
cout<<pow(a,b)<<endl;
}
return 0;
}
输入样例:
2 3
2 10
输出样例:
8
1024
分析:
- 首先判断指数b是否为0,如果是,则返回1,因为任何数的0次方都是1。
- 如果指数b为奇数,则递归计算a的b-1次方,然后将结果乘以a。这是因为a的奇数次方可以表示为a乘以a的(b-1)次方。
- 如果指数b为偶数,则递归计算a的b/2次方,然后将结果乘以自身。这是因为a的偶数次方可以表示为(a的b/2次方)的平方。
- 最终返回计算得到的结果。
C语言:
#include<iostream>
using namespace std;long long int pow(int a, int b) // 递归方式求a^b
{if (b == 0)return 1;if (b % 2 == 1) // 当b为奇数return a * pow(a, b - 1);else { // 当b为偶数long long int c = pow(a, b / 2);return c * c;}
}
总结:
这段代码利用了递归的思想,将一个复杂的问题(a的b次方)分解为更小的子问题(a的(b-1)次方或a的b/2次方)。然后逐步递归求解子问题,最终得到原问题的解。此外,代码中还利用了递归终止条件(当b为0时),确保递归过程能够终止并返回结果。
相关文章:
PTA-快速幂
要求实现一个递归函数,高效求ab(1≤a,b≤62,ab<263)。 函数接口定义: long long int pow(int a, int b); 其中a 、b 是用户传入的参数。 裁判测试程序样例: #include<iostream> using namespace std; long long int pow(int a,…...
【深度学习】Transformer简介
近年来,Transformer模型在自然语言处理(NLP)领域中横扫千军,以BERT、GPT为代表的模型屡屡屠榜,目前已经成为了该领域的标准模型。同时,在计算机视觉等领域中,Transformer模型也逐渐得到了重视&a…...
Linux 是否被过誉了?
Linux 是否被过誉了? 有些人眼里,电脑这种东西就应该是华丽丽的桌面,手握鼠标戳戳按钮,键盘只为偶尔打打字,仿佛windows式的桌面形式才是理所应当,GUI才是理所应当,x86才是理所应当,…...
【SpringBoot篇】Spring_Task定时任务框架
文章目录 🌹概述🌺应用场景🎄cron表达式🛸入门案例🎍实际应用 🌹概述 Spring Task 是 Spring 框架提供的一种任务调度和异步处理的解决方案。可以按照约定的时间自动执行某个代码逻辑它可以帮助开发者在 S…...
智能导视电子指路牌是什么?
SVIP-3800系列智能电子指路牌也称智慧指路灯杆,智能指路牌,导航立柱,多功能指示牌,多功能路标,智能指路机器人,智能导视指路牌,问路导航机器人,智能路牌,叁仟智慧路牌、智…...
Android 13.0 无源码app修改它的icon图标
1.概述 在13.0的系统产品rom定制化开发中,有些产品需要对Launcher3中桌面显示的app的icon做替换,如果没有源码的话更换会麻烦点,需要从pms解析app的时候, 可以替换掉app的icon图标就可以了,接下来就来实现相关的功能 2.无源码app修改它的icon图标的相关核心类 framework…...
【钉钉】通过链接方式跳转到应用机器人聊天窗口
使用这个方式: dingtalk://dingtalkclient/action/jumprobot?dingtalkid可以通过机器人回调拿到chatbotUserId这个字段,这个就是dingtalkid。 示例:(chatbotUserId是不规则字符串,链接拼上这个参数最好 urlencode一…...
Linux平台下使用.NET Core访问Access数据库
运行环境 操作系统:Ubuntu 22.04.3 LTS (Jammy)开发工具:Visual Studio 2022 (17.8.0)运行时版本:.NET Runtime 8.0依赖库:unixodbc、mdbtools、odbc-mdbtools 依赖库安装 apt-get update sudo apt-get install unixodbc mdbto…...
SpringCloud - 新版淘汰 Ribbon,在 OpenFeign 中整合 LoadBalancer 负载均衡
目录 一、LoadBalancer 负载均衡 1.1、前言 1.2、LoadBalancer 负载均衡底层实现原理 二、整合 OpenFeign LoadBalancer 2.1、所需依赖 2.2、具体实现 2.3、自定义负载均衡策略 一、LoadBalancer 负载均衡 1.1、前言 在 2020 年以前的 SpringCloud 采用 Ribbon 作为负载…...
[MySQL-基础]SQL语句
目录 hello! 这里是欧_aita的频道。 今日语录: 只有放弃才是真正的失败。 祝福语:愿你的代码生活充满注释,逻辑清晰,debug之路畅通无阻。 大家可以在评论区畅所欲言,可以指出我的错误,在交流中共同进步。 欢迎关注我的…...
CentOS 7实现类似于Kali Linux中的自动补全功能
在CentOS 7中,可以通过安装和使用Bash-completion来实现自动补全功能,类似于Kali Linux中的自动补全。以下是安装和使用Bash-completion的步骤: 首先,确保您的系统已更新并安装了EPEL存储库。(非必要,直接…...
skywalking中gateway的拓扑图没有出现
背景: 刚开始的时候gateway没有出现,后来百度说添加插件的jar包, apm-spring-cloud-gateway-2.1.x-plugin-8.15.0.jar apm-spring-webflux-5.x-plugin-8.15.0.jar 然后解决了gateway节点出来了, 但是:拓扑图却是User指…...
【前端学java】java中的日期操作(12)
往期回顾: 【前端学java】JAVA开发的依赖安装与环境配置 (0)【前端学 java】java的基础语法(1)【前端学java】JAVA中的packge与import(2)【前端学java】面向对象编程基础-类的使用 (…...
用eclipse搭建简单的JavaWeb环境
在 Eclipse 中搭建 JavaWeb 项目的环境涉及到配置服务器、创建项目、添加库等步骤。以下是基于 Eclipse 的 JavaWeb 项目搭建的简要步骤: 步骤: 1. 安装 Eclipse IDE for Java EE Developers 确保你已经安装了 Eclipse IDE for Java EE Developers 版…...
【精选】改进的YOLOv5:红外遥感图像微型目标的高效识别系统
1.研究背景与意义 随着科技的不断发展,红外遥感技术在军事、安防、环境监测等领域中得到了广泛应用。红外遥感图像具有独特的优势,可以在夜间或恶劣天气条件下获取目标信息,因此在小目标检测方面具有重要的应用价值。然而,由于红…...
HarmonyOS ArkTS语言,运行Hello World(一)
一、下载与安装DevEco Studio 在HarmonyOS应用开发学习之前,需要进行一些准备工作,首先需要完成开发工具DevEco Studio的下载与安装以及环境配置。 进入DevEco Studio下载官网,单击“立即下载”进入下载页面。 DevEco Studio提供了Windows…...
IDEA中注释快捷键及模板
单行注释 将光标放置于要注释所在行,使用 Ctrl /, 添加行注释,再次使用,去掉行注释 若需要将多行进行单行注释,只需要选中要注释的多行,然后使用 Ctrl /, 添加行注释,再次使用&a…...
centos7系统下postgresql15离线安装,卸载
1. 创建postgres用户 #[rootVMTest postgresql16]# useradd -g postgres postgres [rootVMTest postgresql16]# useradd postgres 插曲:在线YUM安装 在线安装参考: PostgreSQL: Linux downloads (Red Hat family) 2. 下载并安装离线rpm包 2.1 从postgresql官网下…...
C#线程 ConcurrentQueue安全队列介绍
https://blog.csdn.net/qq_41230604/article/details/126305068 C#线程安全队列ConcurrentQueue ConcurrentQueue队列是一个高效的线程安全的队列,是Net Framework 4.0,System.Collections.Concurrent命名空间下的一个数据结构。 ConcurrentQueue内部结…...
CURL踩坑记录
因为项目使用的windows server,且没有安装Postman,所以对于在本地的Postman上执行的请求,要拷贝到服务器执行,只能先转化成为curl命令,操作也很简单,如下: 注意,Postman默认对url包围…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)
UniApp 集成腾讯云 IM 富媒体消息全攻略(地理位置/文件) 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型,核心实现方式: 标准消息类型:直接使用 SDK 内置类型(文件、图片等)自…...
jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...
32单片机——基本定时器
STM32F103有众多的定时器,其中包括2个基本定时器(TIM6和TIM7)、4个通用定时器(TIM2~TIM5)、2个高级控制定时器(TIM1和TIM8),这些定时器彼此完全独立,不共享任何资源 1、定…...
《信号与系统》第 6 章 信号与系统的时域和频域特性
目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...
