#include<stdio.h>
using namespace std;
int n,m,k,s,i=2;
int main(){
scanf("%d%d%d",&n,&m,&k);
while(i<k){
s=(n*m)%10;
n=m;
m=s;
i++;
}
printf("%d\n",s);
return 0;
}
10^12 = 1000000000000,所以 i k 的数据类型是 int 型就超范围了,修改如下,供参考:
#include<stdio.h>
int main()
{
int n, m, s;
__int64 k, i = 2;
scanf("%d%d%I64d", &n, &m, &k);
while (i < k){
s = (n * m) % 10;
n = m;
m = s;
i++;
}
printf("%d\n",s);
return 0;
}