hdu 3123 GCC——注意中间结果的大小__int64
2012-03-17 20:43
295 查看
#include<stdio.h> #include<string.h> #include<stdlib.h> char s[110]; int cmp(int m) { int l=strlen(s),n; if(l>6) return 0; n=atoi(s); if(n>m) return 0; return 1; } int main() { int t,n,m; scanf("%d",&t); while(t--) { scanf("%s %d",s,&m); int h=cmp(m); if(h==1) { n=atoi(s); __int64 i,jie=1,he=1; for(i=1;i<=n;i++) { jie=jie*i%m;//之前没注意到jie、he可能比int大;i-1的jie可能大于十万,i也可能大于十万,其积可能大于百亿 he=(he+jie)%m; } printf("%I64d\n",he%m); } else { n=m-1; __int64 i,jie=1,he=1; for(i=1;i<=n;i++) { jie=jie*i%m; he=(he+jie)%m; } printf("%I64d\n",he%m); } } }
相关文章推荐
- hdu 3123 GCC(数学题)
- hdu 3123 GCC (2009 Asia Wuhan Regional Contest Online)
- hdu 3123 GCC
- HDU 3123 GCC(同余模定理)
- HDU 3123 GCC【同余模定理】
- HDU 3123 GCC
- HDU 1331--DP--(递归保存中间结果)
- HDU 3123 GCC (取模运算)
- HDU 3123 GCC
- hdu 2489 Minimal Ratio Tree DFS枚举点+最小生成树 属于中等偏上题 ,Double比较大小的时候注意精度问题
- HDU 3123-GCC(递推)
- hdu 3123 GCC (数学)
- hdu 3123 GCC
- hdu 3123 GCC (数学)
- HDU 3123 GCC(大数阶乘取模)
- HDU 3123(ZZULI 1605) GCC(递推) …
- HDU 3123 GCC
- HDU 3123 GCC(递推)
- HDU 3123 GCC
- HDU 4548美素数(简单题 保存结果时需要注意不要超时)