HDU 1013 Digital Roots【水题】
2016-05-13 18:09
441 查看
Digital Roots
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 67953 Accepted Submission(s): 21239
[align=left]Problem Description[/align]
The digital root of a positive integer is found by summing the digits of the integer. If the resulting value is a single digit then that digit is the digital root. If the resulting value contains two or more digits, those digits are
summed and the process is repeated. This is continued as long as necessary to obtain a single digit.
For example, consider the positive integer 24. Adding the 2 and the 4 yields a value of 6. Since 6 is a single digit, 6 is the digital root of 24. Now consider the positive integer 39. Adding the 3 and the 9 yields 12. Since 12 is not a single digit, the process
must be repeated. Adding the 1 and the 2 yeilds 3, a single digit and also the digital root of 39.
[align=left]Input[/align]
The input file will contain a list of positive integers, one per line. The end of the input will be indicated by an integer value of zero.
[align=left]Output[/align]
For each integer in the input, output its digital root on a separate line of the output.
[align=left]Sample Input[/align]
24 39 0
[align=left]Sample Output[/align]
6 3
题意:求一个数的数字根,例如:39的各位数字和为3+9=12(不是一位数,继续,1+2=3),所以结果为3
[align=left]1:递归[/align]
[align=left]2:求余数记得和为9的情况[/align]
#include <iostream> #include <cstring> using namespace std; int root(int n) { if(n<10) return n; int sum = 0; while(n) { sum +=n%10; n/=10; } return root(sum); } int main() { int n,sum; char a[100]; while(cin>>a) { int length = strlen(a); if(length==1&&a[0]=='0'){ break; } sum = 0; for(int i=0; i<length; i++) { sum +=a[i]-'0'; } cout<<root(sum)<<endl; } return 0; }
#include<stdio.h> #include<string.h> int main (void) { char n[10010]; int len; memset(n,0,sizeof(n)); while(~scanf("%s",n)) { len=strlen(n); if(n[0]=='0') break; int s=0; for(int i=0; i<len; i++) { s=s+n[i]-'0'; } s=s%9; if(s==0) s=9; printf("%d\n",s); } return 0; }
相关文章推荐
- Spring学习总结(8)——25个经典的Spring面试问答
- 学习Java有没有什么捷径
- margin属性
- spring boot 拦截器实现防重复提交
- (五)Hibernate 操作对象
- 时间对话框
- jdk linux 解压安装
- 图片压缩保存 处理三星拍照图片旋转问题的部分方法
- centos6.5配置lamp环境
- SVN使用教程2
- 关于在C/C++语言中,函数如何返回数组,数组如何作为参数传递以及返回数组的函数该如何调用问题的总结
- 浙大 PAT Advanced level 1021. Deepest Root (25)
- 常见HTTP状态(304,200等)
- redis test
- 大数据Java基础第八天作业
- android WebView拦截js弹窗界面无响应问题
- 用fiddler模拟网络请求超时
- Android-Activity生命周期的理解
- Android Matrix手势缩放自定义view 不止于Imageview
- 110.[Leetcode]Balanced Binary Tree