我在spoj-lastdig2中使用我的代码 - 重新访问的最后一位数字

I am getting WA with my code in spoj-LASTDIG2 - The last digit re-visited?

本文关键字:访问 数字 最后一位 新访问 spoj-lastdig2 我的 代码 我在      更新时间:2023-10-16

问题链接:http://www.spoj.com/problems/lastdig2/模式创意:https://brilliant.org/wiki/finding-the-last-digit-of-a-power/

#include <iostream>
    using namespace std;
    int t , n ;unsigned long long m;
    int a2 [4] = {2,4,8,6};
    int a3 [4] = {3,9,7,1}, a4 [2] = {4,6};
    int a5 = 5,a6 =6;
    int a7 [4] = {7,9,3,1}, a8 [4] = {8,4,2,6}, a9 [2] = {9,1},led[10] = {1,1,4,4,2,1,1,4,4,2};
    int ans(int y,int i){if(y == 0 || y==1 || y==5 || y== 6){return y;}if(y== 2){return a2[i];}if(y==3){return a3[i];}if(y==4){a4[i];}if(y==7){return a7[i];}if(y==8){return a8[i];}if(y==9){return a9[i];}
    }
    int main()
    {
        int x,i;cin>>t;
        while(t--)
        {
            cin>>n>>m;
            if (n==0 || n==1 ||m==0 ){cout<<1<<endl;continue;}x = n%10;i = (m%led[x])-1;cout<<ans(x,i)<<endl;}
        return 0;
    }

不确定这是否为您解决,但是在编译时:

g++ -Wall -Wextra -Werror -Wpedantic -pedantic-errors -Wshadow

有错误:函数ansy==4时不会返回,并且当未满足条件时。这可能导致WA。