Hdu1163 Eddy's digitai Roots(九余数定理)
2015-09-27 15:28
441 查看
题目大意:
给定一个正整数,根据一定的规则求出该数的“数根”,其规则如下:
例如给定 数字 24,将24的各个位上的数字“分离”,分别得到数字 2 和 4,而2+4=6;
因为 6 < 10,所以就认为6是数字24的“数根”;
而对于数字 39 , 将39的各个位上的数字“分离”,分别得到数字 3 和 9,而3+9=12,且12>10;
所以依据规则再对 12 进行相应的运算,最后得到数字3,而3<10,所以就认为3是数字39的“数根”。
通过运算可以发现任何一个数的“数根”都是一个取值范围在 1 ~ 9之间的正整数,
且任何一个正整数都只有唯一的一个“数根”与其相对应。
题目要求数字 n^n 的“数根”
解题思路:
九余数定理
一个数对九取余后的结果称为九余数。
一个数的各位数字之和想加后得到的<10的数字称为这个数的九余数(如果相加结果大于9,则继续各位相加)
代码如下:
View Code
给定一个正整数,根据一定的规则求出该数的“数根”,其规则如下:
例如给定 数字 24,将24的各个位上的数字“分离”,分别得到数字 2 和 4,而2+4=6;
因为 6 < 10,所以就认为6是数字24的“数根”;
而对于数字 39 , 将39的各个位上的数字“分离”,分别得到数字 3 和 9,而3+9=12,且12>10;
所以依据规则再对 12 进行相应的运算,最后得到数字3,而3<10,所以就认为3是数字39的“数根”。
通过运算可以发现任何一个数的“数根”都是一个取值范围在 1 ~ 9之间的正整数,
且任何一个正整数都只有唯一的一个“数根”与其相对应。
题目要求数字 n^n 的“数根”
解题思路:
九余数定理
一个数对九取余后的结果称为九余数。
一个数的各位数字之和想加后得到的<10的数字称为这个数的九余数(如果相加结果大于9,则继续各位相加)
代码如下:
#include <iostream> #include <string> #include<algorithm> using namespace std; int main(){ int a,c,count; cin>>a; while(a>=10){ c=a;count=0; while(c!=0){ count+=c%10; c=c/10; } a=count; } cout<<a<<endl; return 0; }
View Code
相关文章推荐
- 真机测试INSTALL_FAILED_INSUFFICIENT_STORAGE解决办法
- 如何重装air
- main函数的参数:处理命令行选项
- 2015 ACM/ICPC Asia Regional Shanghai Online 1008
- Handling Complexity in the Halo 2 AI
- Contains Duplicate III
- Training ------- Getting Started
- mybaits标签
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
- HDU 5476 Explore Track of Point(几何)——2015 ACM/ICPC Asia Regional Shanghai Online
- 强大的仿苹果启动器 Cairodock
- HDU 5478 Can you find it(快速幂)——2015 ACM/ICPC Asia Regional Shanghai Online
- 2015 ACM/ICPC Asia Regional Shanghai Online
- 2015 ACMICPC Asia Regional Shanghai Online
- 循环引用之【#import】【@class】和循环【retain】之【assign】
- HDU 5477.A Sweet Journey【2015 ACM/ICPC Asia Regional Shanghai Online】【9月26】
- HDU 5475.An easy problem【思路】【2015 ACM/ICPC Asia Regional Shanghai Online】【9月26】
- LeetCode(11) Container With Most Water
- LeetCode(11) Container With Most Water
- signal(SIGCLD,SIG_IGN) http://blog.csdn.net/cffishappy/article/details/7005115