题目是“求n个1992的乘积的末两位数是多少”
#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
long long s;
s=pow(92,n);
printf("%d\n",s%100);
return 0;
}
这么写就行了:你之前错是因为过程不对,如输入1输出的是91,应该是92才对
给你改好了:
#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
int n,i;
scanf("%d",&n);
long long s=1;
for(i=0;i<n;i++){
s*=1992;
}
printf("%d\n",s%100);
return 0;
}
第11行,因为是long long 类型,所以应改为:
printf("%lld", s%100);
既然是只需要后两位,那么没必要每次都乘以实际数,可如下处理:
#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
int n,i;
scanf("%d",&n);
int s=1;
for(i=0;i<n;i++){
s*=92;
s %= 100;
}
printf("%d\n",s);
return 0;
}