HDOJ 1163 Eddy's digital Roots 九余数定理+简单数论
2014-11-18 10:47
351 查看
我在网上看了一些大牛的题解,有些知识点不是太清楚, 因此再次整理了一下。
转载链接:
http://blog.csdn.net/iamskying/article/details/4738838 http://www.2cto.com/kf/201405/297531.html
题目描述:
求n^n次的digital root(数根),例如root(67)=6+7=root(13)=1+3=4;
一类解法:
求解思路:
现在分析一个问题,假设将十位数为a,个位数为b的一个整数表示为ab,则推导得
ab*ab = (a*10+b)*(a*10+b) = 100*a*a+10*2*a*b+b*b
根据上式可得:root(ab*ab) = a*a+2*a*b+b*b = (a+b)*(a+b);[公式一]
同理也可证得:root(ab*ab*ab) = (a+b)*(a+b)*(a+b);[公式二]
可以看出,N个相同整数的乘积总值的树根 = 每一项元素的树根的乘积
再设另外一个整数cd,且cd!=ab
ab*cd = (a*10+b)*(c*10+d) = 100*a*c+10*(a*d+b*c)+b*d
根据上式可得:root(ab*cd) = a*c+a*d+b*c+b*d = (a+b)*(c+d);[公式三]
可见,对于两个不相同整数也成立。
最后将上面证得的结果一般化:
N个整数的乘积总值的数根 = 每个项元素的数根的乘积
提示:本题只需根据[公式三] 即可AC.
二类解法:
九余数定理:
一个数字n的树根 == n%9(n == 0 则为9)
运用9余数定理 + 公式3 我们就可以很简单的写出程序
转载链接:
http://blog.csdn.net/iamskying/article/details/4738838 http://www.2cto.com/kf/201405/297531.html
题目描述:
求n^n次的digital root(数根),例如root(67)=6+7=root(13)=1+3=4;
一类解法:
求解思路:
现在分析一个问题,假设将十位数为a,个位数为b的一个整数表示为ab,则推导得
ab*ab = (a*10+b)*(a*10+b) = 100*a*a+10*2*a*b+b*b
根据上式可得:root(ab*ab) = a*a+2*a*b+b*b = (a+b)*(a+b);[公式一]
同理也可证得:root(ab*ab*ab) = (a+b)*(a+b)*(a+b);[公式二]
可以看出,N个相同整数的乘积总值的树根 = 每一项元素的树根的乘积
再设另外一个整数cd,且cd!=ab
ab*cd = (a*10+b)*(c*10+d) = 100*a*c+10*(a*d+b*c)+b*d
根据上式可得:root(ab*cd) = a*c+a*d+b*c+b*d = (a+b)*(c+d);[公式三]
可见,对于两个不相同整数也成立。
最后将上面证得的结果一般化:
N个整数的乘积总值的数根 = 每个项元素的数根的乘积
提示:本题只需根据[公式三] 即可AC.
二类解法:
九余数定理:
一个数字n的树根 == n%9(n == 0 则为9)
运用9余数定理 + 公式3 我们就可以很简单的写出程序
#include <iostream>> using namespace std; int main() { int n; while( cin >> n, n) { int sum = 1; for(int i=1; i<=n; i++) { sum = (n*sum)%9; if(!sum) sum = 9; } cout << sum << endl; } return 0; }
相关文章推荐
- HDOJ 1163 Eddy's digital Roots(九余数定理的应用)
- hdoj 1163 Eddy's digital Roots
- HDOJ 1163 Eddy's digital Roots(九余数定理的应用)
- HDOJ 1164 Eddy's research I
- HDOJ 1163 Eddy's digital Root (简单数论,但我也不会。。。。)
- hdoj-1163-Eddy's digital Roots【九余数定理】
- HDOJ 2200 Eddy's AC难题(数学组合概率题)
- HDOJ 1164 Eddy's research I(拆分成素数因子)
- HDOJ1163 Eddy's digital Roots
- HD 1163 Eddy's digital Roots 【数字根】
- HDOJ-1162 Eddy's picture(最小生成树)
- HDOJ 1164 Eddy's research
- hdoj 1163 Eddy's digital Roots
- hdoj1163_Eddy's digital Roots_数根
- hdoj--1162--Eddy's picture(最小生成树)
- HDOJ 1163 Eddy's digital Roots
- HDOJ 1163 Eddy's digital Roots [简单数论]
- hdu 1163 Eddy's digital Roots (数学)
- hdoj 2204 Eddy's爱好
- HDoj-1163- Digital Roots