杭电acm1097

我起先写的是在循环中对100取余,然后对10取余输出答案,可是提交后超时。下面是转载的。

#include <stdio.h>

int calc(int a, int b)
{
    if(a==0 || a==1 || a==5 || a==6) return a;
    if(a==2)
    {
        if(b%4==1) return 2;
        if(b%4==2) return 4;
        if(b%4==3) return 8;
        if(b%4==0) return 6;               
    }
    if(a==3)
    {
        if(b%4==1) return 3;
        if(b%4==2) return 9;
        if(b%4==3) return 7;
        if(b%4==0) return 1;               
    }
    if(a==4)
    {
        if(b%2==1) return 4;
        if(b%2==0) return 6;       
    }   
    if(a==7)
    {
        if(b%4==1) return 7;
        if(b%4==2) return 9;
        if(b%4==3) return 3;
        if(b%4==0) return 1;               
    }
    if(a==8)
    {
        if(b%4==1) return 8;
        if(b%4==2) return 4;
        if(b%4==3) return 2;
        if(b%4==0) return 6;               
    }
    if(a==9)
    {
        if(b%2==1) return 9;
        if(b%2==0) return 1;      
    }
}

int main()
{
    int a,b;
    while(scanf("%d%d",&a,&b)!=EOF)
    {
        printf("%d\n",calc(a%10,b));                              
    }
    return 0;   
}


posted @ 2015-03-04 19:52  StevenLuke  阅读(204)  评论(0编辑  收藏  举报