杭电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; }