HDOJ--1066--Last non-zero Digit in N!
2010-06-02 00:05
155 查看
#include<stdio.h> #include<string.h> char num[10000]; int main() { while(scanf("%s",num)==1) { int len,i,j,ret,temp,c; len=strlen(num); for(i=0,j=len-1;i<=j;i++,j--) { temp=num[i]-'0'; num[i]=num[j]-'0'; num[j]=temp; } if(len==1) ret=1; else ret=6; while(len) { c=0; for(i=0;i<=num[0];i++) if(i%5!=0) ret*=i; ret%=10; for(i=len-1;i>=0;i--)///////利用字符串进行1位数除法,有点技巧 { c=c*10+num[i]; num[i]=c/5; c=c%5; }/////////////////////////////////// temp=(num[1]*10+num[0])%4; if(temp==0) temp=4;///////////利用最后两位判断,每4次一个循环 for(i=1;i<=temp;i++)////特殊除法 { switch(ret) { case 2: ret=6;break; case 4: ret=2;break; case 6: ret=8;break; case 8: ret=4;break; } } if(num[len-1]==0) len--; } printf("%d/n",ret); } return 0; }
相关文章推荐
- HDOJ 1066-Last non-zero Digit in N!【阶乘最后非零解:模板】
- HDOJ 1066 Last non-zero Digit in N!
- hdoj1066 Last non-zero Digit in N!(数论)
- HDU 1066 Last non-zero Digit in N!
- HDU-1066 Last non-zero Digit in N!
- HDU 1066 Last non-zero Digit in N!
- hdu 1066 Last non-zero Digit in N!【阶乘】
- hdu 1066 Last non-zero Digit in N!
- hdu 1066 Last non-zero Digit in N!【阶乘】
- hdu 1066 Last non-zero Digit in N! (数论——n!中的最后一个非0数字)
- hdu1066——Last non-zero Digit in N!
- HDU-1066 Last non-zero Digit in N!
- hdu 1066 Last non-zero Digit in N! 数学,求n!最后一位非零数
- hdu 1066 Last non-zero Digit in N! 求N!的最后一位非0数 N很大
- HDU ACM 1066 Last non-zero Digit in N!
- hdu 1066 Last non-zero Digit in N!
- HDU 1066 Last non-zero Digit in N!
- 数论:HDU1066-Last non-zero Digit in N!
- Last non-zero Digit in N!
- hdoj Last non-zero Digit in N! 【数论】