hdu 1013

来源:互联网 发布:网页游戏平台源码下载 编辑:程序博客网 时间:2024/05/22 15:27

这题测试数据可能会很长,所以不能简单的用传统方法

考虑用处理字符串的方式来进行,但开数组也没完没了的,所以就直接对每一个字符来处理

即,每得到一个字符马上加到 sum 上去(sum是结果),如果sum大于9了,马上对sum进行处理,个位和十位相加令其变为一个数(结果一样)

代码如下:

#include <iostream>using namespace std;int main(){//freopen("E:\\in.txt","r",stdin);char c;int sum = 0;while(c = getchar()){if(c == '\n'){cout << sum << endl;c = getchar();if(c == '0')break;elsesum = c - '0';continue;}sum += c - '0';if(sum > 9)//只需处理一次即可,因为对sum处理的及时,所以sum不可能大于18 {sum = sum%10 + sum/10;}}return 0;}