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

P8813 [CSP-J 2022] 乘方

记录25

#include <bits/stdc++.h>
using namespace std;
int main() {int a,b;long long ans=1;cin>>a>>b;if(a==1){cout<<1;return 0;}bool flag=1;for(int i=1;i<=b;i++){ans*=a;if(ans>1000000000){flag=0;break;}}if(flag) cout<<ans;else cout<<-1;return 0;
}

突破口

  • a^b{} 即 b 个 a 相乘的值,例如 23 即为 3 个 2 相乘,结果为 2×2×2=8。
  • 在 a^b{} 的值超过 10^9{}时,输出一个 -1 进行警示,否则就输出正确的 a^b{}  的值

思路

一个简单的几次方问题,依次乘起来,然后进行对比10^9{},超过就跳出

代码简析

#include <bits/stdc++.h>
using namespace std;
int main() {int a,b;long long ans=1;cin>>a>>b;if(a==1){cout<<1;return 0;}......
}

特殊判断下1的次方问题,因为无论1的几次方结果都是1,防止TLE

#include <bits/stdc++.h>
using namespace std;
int main() {...bool flag=1;for(int i=1;i<=b;i++){ans*=a;if(ans>1000000000){flag=0;break;}}if(flag) cout<<ans;else cout<<-1;return 0;
}

设置一个flag,进行一个判断,在超出目标值的时候终止输出

补充

1. pow() 函数

1.1 定义

pow() 函数用于计算一个数的幂。它定义在 <cmath> 头文件中。

1.2 语法

double pow(double base, double exponent);

1.3 参数

  • base:底数,可以是任何实数。

  • exponent:指数,可以是任何实数。

1.4 返回值

  • 返回值是 baseexponent 次幂的结果,类型为 double

1.5 示例代码

示例1:计算整数的幂

#include <iostream>
#include <cmath> // 包含 pow 函数
using namespace std;int main() {double base = 2.0;double exponent = 3.0;double result = pow(base, exponent);cout << base << " to the power of " << exponent << " is " << result << endl;return 0;
}
输出结果
2 to the power of 3 is 8
示例2:计算浮点数的幂

#include <iostream>
#include <cmath> // 包含 pow 函数
using namespace std;int main() {double base = 2.5;double exponent = 2.0;double result = pow(base, exponent);cout << base << " to the power of " << exponent << " is " << result << endl;return 0;
}
输出结果
2.5 to the power of 2 is 6.25
示例3:计算负指数

#include <iostream>
#include <cmath> // 包含 pow 函数
using namespace std;int main() {double base = 2.0;double exponent = -3.0;double result = pow(base, exponent);cout << base << " to the power of " << exponent << " is " << result << endl;return 0;
}
输出结果
2 to the power of -3 is 0.125

1.6 注意事项

  1. 参数类型pow 函数的参数和返回值都是 double 类型。如果需要计算整数的幂,可以将整数转换为 double

  2. 负指数pow 函数可以处理负指数,返回值是底数的倒数的指数次幂。

  3. 零指数:任何非零数的零次幂都是 1。

  4. 零底数:零的任何正指数都是零,但零的零次幂和零的负指数是未定义的,可能会导致运行时错误。

2. sqrt() 函数

2.1 定义

sqrt() 函数用于计算一个数的平方根。它定义在 <cmath> 头文件中。

2.2 语法

double sqrt(double num);

2.3 参数

  • num:需要计算平方根的数,必须是非负数。

2.4 返回值

  • 返回值是 num 的平方根,类型为 double

2.5 示例代码

示例1:计算整数的平方根

#include <iostream>
#include <cmath> // 包含 sqrt 函数
using namespace std;int main() {double num = 16.0;double result = sqrt(num);cout << "The square root of " << num << " is " << result << endl;return 0;
}
输出结果
The square root of 16 is 4
示例2:计算浮点数的平方根

#include <iostream>
#include <cmath> // 包含 sqrt 函数
using namespace std;int main() {double num = 25.5;double result = sqrt(num);cout << "The square root of " << num << " is " << result << endl;return 0;
}
输出结果
The square root of 25.5 is 5.049752469181039

2.6 注意事项

  1. 参数类型sqrt 函数的参数和返回值都是 double 类型。如果需要计算整数的平方根,可以将整数转换为 double

  2. 非负数sqrt 函数的参数必须是非负数,否则会引发运行时错误。

  3. 精度问题:由于 sqrt 函数返回的是 double 类型,结果可能会有小数部分。

总结

  • pow 函数:用于计算一个数的幂,接受两个 double 类型的参数,返回一个 double 类型的结果。

  • sqrt 函数:用于计算一个数的平方根,接受一个 double 类型的参数,返回一个 double 类型的结果。

http://www.dtcms.com/a/520804.html

相关文章:

  • QT实现消息未读提示
  • 一个人是否可以做公司网站做网站 租服务器吗
  • 数学教学网站开发微网站 举例
  • deeptest平台使用python脚本进行断言 含json预处理
  • 爬虫的意义
  • 文化投资的微网站怎么做兰州网站建设人才招聘
  • 以前可以做视频的网站免费erp企业管理系统
  • 世界模型和大语言模型的区别
  • 使用navicat下载和上传二进制图片 mediumblob、blob类型
  • 【人工智能系列:走近人工智能04】了解人工智能的框架:从TensorFlow到PyTorch
  • 【笔记】解决 ComfyUI 安装节点 ComfyUI-Addoor (葵花宝典)后启动报错:No module named ‘ComfyUI-Addoor’
  • 婚纱影楼网站源码财务管理咨询
  • 网站建设有什么作用推广网站的软文
  • 比特币P2PKH交易花费的核心流程与数据流转
  • 杰理蓝牙芯片开发平台API说明 21
  • 在 Sui 上构建《勇者前线》游戏的新篇章
  • 江西省建设工程学校网站cms管理什么意思
  • SAP SD 价格主数据创建接口分享
  • huggingface模型下载到本地
  • 有没有找人做标书的网站国外最开放的浏览器是哪个
  • react虚拟滚动
  • 网站404怎么做郑州短视频拍摄制作公司
  • 国外设计作品网站深圳龙岗区地图
  • 网站开发属于软件开发服务吗临沂seo公司稳健火星
  • windows安装rust
  • 图神经网络分享系列-GAT(GRAPH ATTENTION NETWORKS) (一)
  • C语言:整数转字符串(递归实现)
  • fpga芯片挂在线成功,但是固化程序失败的可能原因有哪些?
  • HarmonyOs鸿蒙开发,学生信息管理
  • Android实战进阶 - 单点登录与系统拦截