第一题乘法参考代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long a, b;
cin >> a >> b;
/*if(a == 1 ) //a==1,无论b为何值,乘方为1。
{
cout<<"1";
return 0;
}*/
// 计算 a^b
long long result = 1;
for (long long i = 0; i < b; ++i)
{
result *= a;
// 如果在乘法过程中结果已经超过 10^9,则直接输出 -1
if (result > 1000000000) {
cout << -1 << endl;
return 0;
}
}
// 如果结果没有超过 10^9,则输出正确的结果
cout << result << endl;
return 0;
}
第一题乘方文件提交参考代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
freopen("pow.in","r",stdin);
freopen("pow.out","w",stdout);
long long a, b;
cin >> a >> b;
if(a == 1 ) //a==1,无论b为何值,乘方为1。
{
cout<<"1";
return 0;
}
// 计算 a^b
long long result = 1;
for (long long i = 0; i < b; ++i)
{
result *= a;
// 如果在乘法过程中结果已经超过 10^9,则直接输出 -1
if (result > 1000000000)
{
cout << -1 << endl;
return 0;
}
}
// 如果结果没有超过 10^9,则输出正确的结果
cout << result << endl;
fclose(stdin);
fclose(stdout);
return 0;
}