HooLee
If you believe, you can!
C++博客
首页
新随笔
新文章
联系
管理
HOJ1013Digital Roots
问题的关键是题目要求没有给清楚,没有给出输入数据的范围。应该先将数字当做字符串处理。
#include
<
stdio.h
>
#include
<
string
.h
>
int
root2(
char
*
s)
{
int
sum2
=
0
;
int
i, len
=
strlen(s);
for
(i
=
0
; i
<
len; i
++
)
sum2
+=
s[i]
-
'
0
'
;
return
sum2;
}
long
root(
long
n)
{
long
sum
=
0
;
while
(n)
{
sum
+=
n
%
10
;
n
/=
10
;
}
return
sum;
}
int
main()
{
long
sum;
char
s[
1000
];
gets(s);
while
(strcmp(s,
"
0
"
))
{
sum
=
root2(s);
while
(sum
/
10
)
{
sum
=
root(sum);
}
printf(
"
%d\n
"
, sum);
gets(s);
}
}
posted on 2012-02-22 18:31
小鼠标
阅读(76)
评论(0)
编辑
收藏
引用
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我参与的随笔
随笔分类
(111)
C语言(3)
DP(9)
Java笔记(1)
Java基础练习(25)
安卓(1)
本科毕设(1)
博弈(1)
大数(7)
回溯(2)
排序(10)
暑期培训周赛(3)
数据结构(7)
数论(1)
水题(8)
图论(24)
网选训练(8)
随笔档案
(127)
2014年3月 (1)
2013年7月 (10)
2013年5月 (1)
2013年4月 (11)
2013年3月 (8)
2012年10月 (1)
2012年9月 (12)
2012年8月 (38)
2012年7月 (14)
2012年6月 (2)
2012年5月 (8)
2012年4月 (6)
2012年3月 (6)
2012年2月 (4)
2011年8月 (5)
friends
陈钢
大鹏
党姐
焦林枫
汪涛
小白学长
媛姐
媛姐csdn
最新评论
1. re: 线段树
是这个样子的,所以在OJ有时候“卡住”了也不要太灰心,没准真的不是自己的原因呢。
加油,祝你好运啦!
--小鼠标
2. re: 线段树
对于编程竞赛来说,Java所需时间一般为C/C++的两倍。合理的竞赛给Java的时间限制是给C/C++的两倍。
--伤心的笔
3. re: poj1273--网络流
过来看看你。
--achiberx
4. re: (转)ubuntu11.10无法启动无线网络的解决方法
膜拜大神。。查了一个下午资料终于在这里解决了问题。。神牛说的区域赛难道是ACM区域赛。。?
--Hang
5. re: 快速排序、线性时间选择
博主,谢谢你的文章。你的方法可以很好的处理分区基准在数组中重复的情况,书上的方法遇到这种输入会堆栈溢出。书上给出了解释但给的方法貌似不简洁。
--lsxqw2004
阅读排行榜
1. 单调队列(5480)
2. Linux select()函数使用(3954)
3. 快速排序、线性时间选择(3619)
4. poj3468--绝对经典的线段树题(3612)
5. 优先队列--堆实现(3291)