hdoj1013

题意:

题意很简单,输入一个数字,循环地把各个十位上的数字相加,直到最后得到的值只有个位就停止并且输出。水题。

代码如下:

#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;

string int_2_string(int a) {
	stringstream ss;
	string ret("");
	ss << a;
	ss >> ret;
	return ret;
}

string bit_sum(string s) {
	int sum(0);
	for (int i = 0, siz = s.size(); i < siz; ++i) {
		sum += s[i] - '0';
	}
	return int_2_string(sum);
}

int main() {
//	ifstream cin("in.txt");
	string s;
	while (cin >> s) {
		if ("0" == s) {
			break;
		}
		if (s.size() == 1) {
			cout << s << endl;
			continue;
		}
		while (s.size() != 1) {
			s = bit_sum(s);
		}
		cout << s << endl;
	}
	return 0;
}


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/VitaLemon__/article/details/50956748
文章标签: hdoj刷题
个人分类: HDOJ刷题笔记
下一篇hdoj1014 Uniform Generator
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭