九度OJ 1124:Digital Roots(数根) (递归)
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:2963
解决:1066
- 题目描述:
-
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.
- 输入:
-
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.
- 输出:
-
For each integer in the input, output its digital root on a separate line of the output.
- 样例输入:
-
24
39
0
- 样例输出:
-
6
3
- 提示:
-
The integer may consist of a large number of digits.
思路:
递归,结束条件是仅剩一位数。主要考察数位的分解。
代码:
#include <stdio.h>
#include <string.h> #define M 1000000 int main(void)
{
long long a, b;
char s[M+1];
int i; while (scanf("%s", s) != EOF)
{
if (strcmp(s, "0") == 0)
break; a = 0;
for (i=0; s[i]; i++)
a += s[i]-'0'; while (a>=10)
{
b = 0;
while (a)
{
b += a%10;
a /= 10;
}
a = b;
} printf("%lld\n", a);
} return 0;
}
/**************************************************************
Problem: 1124
User: liangrx06
Language: C
Result: Accepted
Time:10 ms
Memory:1816 kb
****************************************************************/
最新文章
- selenium操作滚动条的几种方式
- EF—主键冲突解决办法
- vim技巧之快速进入引号删除至右引号前的内容
- Cheatsheet: 2013 09.01 ~ 09.09
- 实现 kindle 原生系统、多看系弹出注释的通用写法
- JNI-数据类型
- 从头开始编写一个Orchard网上商店模块(6) - 创建购物车服务和控制器
- discuz论坛几种安全策略(一)
- javascript中对条件推断语句的优化
- PL/SQL DEVELOPER 导出表数据
- 使用StyleCop.Analyzers进行代码审查
- git底层原理(二)
- Core Animation 文档翻译 (第四篇)
- kvm 客户机加载移动硬盘
- Kosaraju与Tarjan(图的强连通分量)
- java各历史版本官网下载
- Python之ftp服务器
- 【网络编程4】网络编程基础-ARP响应(ARP欺骗之中间人攻击)
- 自己写一个java的mvc框架吧(四)
- JS之replace