时间限制: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.

来源:
2008年北京大学方正实验室计算机研究生机试真题

思路:

递归,结束条件是仅剩一位数。主要考察数位的分解。

代码:

#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
****************************************************************/

最新文章

  1. selenium操作滚动条的几种方式
  2. EF—主键冲突解决办法
  3. vim技巧之快速进入引号删除至右引号前的内容
  4. Cheatsheet: 2013 09.01 ~ 09.09
  5. 实现 kindle 原生系统、多看系弹出注释的通用写法
  6. JNI-数据类型
  7. 从头开始编写一个Orchard网上商店模块(6) - 创建购物车服务和控制器
  8. discuz论坛几种安全策略(一)
  9. javascript中对条件推断语句的优化
  10. PL/SQL DEVELOPER 导出表数据
  11. 使用StyleCop.Analyzers进行代码审查
  12. git底层原理(二)
  13. Core Animation 文档翻译 (第四篇)
  14. kvm 客户机加载移动硬盘
  15. Kosaraju与Tarjan(图的强连通分量)
  16. java各历史版本官网下载
  17. Python之ftp服务器
  18. 【网络编程4】网络编程基础-ARP响应(ARP欺骗之中间人攻击)
  19. 自己写一个java的mvc框架吧(四)
  20. JS之replace

热门文章

  1. xml文档绑定某个属性值到treeview算法
  2. Python Challenge 第四关
  3. jquery鼠标点击窗口或浮动层以外关闭层【阻止冒泡事件】
  4. Xamarin.Forms支持的地图显示类型
  5. [转] 常用SQL查询语句
  6. pv,uv
  7. 前端模板inspinia
  8. 纯CSS3美化radio和checkbox
  9. Naive Bayesian文本分类器
  10. JavaWeb页面添加隐藏版权信息