HDU 1013 Digital Roots
2015-11-27 14:37
435 查看
Digital Roots
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 62745 Accepted Submission(s): 19486
[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
分析:
一个整数,把所有位都加起来,得出的数如果小于10就输出,不小于继续把所有位都加起来。
该题目是个数论题,但是由于没有接触过,所以没用公式写,直接模拟出来的。
注意几个问题就可以了:输入的数字会非常大,要用字符存储,长度为1000左右,判断时注意判断条件是‘>=10’
代码如下:
<span style="font-size:18px;">#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int n,temp;
int i,len;
char str[1005];
while(scanf("%s",&str),str[0]!='0')
{
len=strlen(str);
temp=0;
for(i=0;i<len;i++)
temp+=str[i]-'0';
while(temp>=10)
{
memset(str,0,sizeof(str));
sprintf(str,"%d",temp);
len=strlen(str);
temp=0;
for(i=0;i<len;i++)
temp+=str[i]-'0';
}
printf("%d\n",temp);
}
return 0;
}</span>
相关文章推荐
- Python flask多维字典实现菜单动态添加
- php JSON数据格式化方法 .
- VMware下centos桥接模式静态ip配置
- centos7下安装配置redis3.0.4
- linux常用命令总结
- Centos7下完美安装并配置mysql5.6
- js确定要删除吗
- 论互联网合并趋势之不一样的「合并」
- 解决centos7下tomcat启动正常,无法访问项目的问题
- centos7系统下安装配置jdk、tomcat教程
- Apache+Tomcat+mod_jk实现负载均衡
- 两个Integer比较大小需要注意的误区
- CSS锚伪类顺序需注意的几点
- js高阶函数
- Android友盟微社区第三方集成
- js Map和Set
- js循环
- mysql Table ‘****‘ is marked as crashed and should be repaired错误解决。
- js对象
- 实现checkebox全选取消操作