题目传送门
【题目描述】
【输入格式】
输入共一行,两个正整数 a,b
【输出格式】
【输入输出样例】
输入1
10 9
讯享网
输出1
讯享网
输入2
23333 66666
输出2
讯享网-1
【方法一】50分
思路:由题目可看出,有一部分测试点会大于十的九次方的,只需输出“-1”即可

定义两个无意义的变量输入,不进行任何计算,输出“-1”。
由于样例有不少“-1”可以骗到50分(虽然这么简单的题好像除了我没人没AC吧)
#include<bits/stdc++.h> using namespace std; int main() { int a,b; cin>>a>>b; cout<<"-1"; return 0; }
【方法二】
思路:运用for循环实现计算乘方,每次循环判断是否大于十的九次方(即)
如果大于,直接输出“-1”,结束程序,return 0。
如果循环到最后,那么这个数就是小于十的九次方的,输出乘方。
【核心代码】
讯享网 for(int i=0;i<m;i++) { sum=sum*n;//sum是结果 if(sum>) { cout<<"-1"; return 0; } } cout<<sum; return 0;
【完整代码】
#include<bits/stdc++.h> using namespace std; int main() { int n,m; cin>>n>>m; long long sum=1; for(int i=0;i<m;i++) { sum=sum*n; if(sum>) { cout<<"-1"; return 0; } } cout<<sum; return 0; }
【注意】
一定开longlong
不开扣十分
【题目地址】
[CSP-J 2022] 乘方 - 洛谷
https://www.luogu.com.cn/problem/P8813看都看到这了,点个赞再走呗!
谢谢你

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/45095.html