hdu 1163 Eddy's digital Roots (数学)
2012-11-06 13:31
489 查看
点击打开链接
ab*ab=(10*a+b)*(10*a+b)=100*a*a+10*2*a*b+b*b=a*a+2*a*b+b*b=(a+b)*(a+b)
abc*abc=(100*a+10*b+c)*(100*a+10*b+c)
=10000*a*a+2000*a*b+100*b*b+200*a*c+20*b*c+c*c
=a*a+2*a*b+b*b+2*a*c+2*b*c+c*c
=(a+b)^2+2*c*(a+b)+c*c
= (a+b+c)*(a+b+c)
同理可以知道四位数,五位数也一样,
即n*n的数根=n的数根*n的数根
数论当中有个结论:“某数乘积的九余数=等于该数九余数的乘积”当余数为0时,该数为九。
ab*ab=(10*a+b)*(10*a+b)=100*a*a+10*2*a*b+b*b=a*a+2*a*b+b*b=(a+b)*(a+b)
abc*abc=(100*a+10*b+c)*(100*a+10*b+c)
=10000*a*a+2000*a*b+100*b*b+200*a*c+20*b*c+c*c
=a*a+2*a*b+b*b+2*a*c+2*b*c+c*c
=(a+b)^2+2*c*(a+b)+c*c
= (a+b+c)*(a+b+c)
同理可以知道四位数,五位数也一样,
即n*n的数根=n的数根*n的数根
数论当中有个结论:“某数乘积的九余数=等于该数九余数的乘积”当余数为0时,该数为九。
#include"stdio.h" int main() { int i,n,sum; while(scanf("%d",&n)!=EOF&&n!=0) { sum=1; for(i=0;i<n;i++) sum=(sum*n)%9; if(sum==0) printf("9\n"); else printf("%d\n",sum); } return 0; }
相关文章推荐
- 【数学 合九法】HDU 1163 Eddy's digital Roots
- [数学 九余数定理] HDU 1163 Eddy's digital Roots
- hdu 1163 Eddy's digital Roots
- HDU1163 Eddy's digital Roots(快速幂+九余数定理)
- hdu1163-Eddy's digital Roots
- HDU1163 Eddy's digital Roots【快速模幂+九余数定理+水题】
- 数论---HDU 1163 Eddy's digital Roots
- hdu-oj 1163 Eddy's digital Roots
- hdu 1163 Eddy's digital Roots (数根)
- HDU1163 Eddy's digital Roots【九余数定理】
- hdu 1163 Eddy's digital Roots
- hdu 1163 Eddy's digital Roots
- HDU1163 Eddy's digital Roots(解法二)【快速模幂+九余数定理】(废除!!!)
- HDU 1163 Eddy's digital Roots 【快速幂+同于定理 || 余九定理】
- 【HDU】1163 Eddy's digital Roots
- hdu 1163 Eddy's digital Roots(九余数定理)
- HDU 1163 Eddy's digital Roots
- hdu-1163-Eddy's digital Roots
- hdu 1163 Eddy's digital Roots(九余数定理,快速幂)
- HDU 1163 Eddy's digital Roots 【九余数定理 Or 规律(瞎搞)】