首页 > 其他 > 详细

HDOJ - 1013 - Digital Roots(字符串、范围)

时间:2014-03-14 02:05:44      阅读:402      评论:0      收藏:0      [点我收藏+]

方法2:用字符串处理,基础题。但是将temp[i]赋值给s[i]的时候如果不加大括号会出现s[i]的值复制不上的问题,寒假做题遇到过,这次又卡了好长时间。但是把这一块包括其他部分的大括号整理一下后,删除这的大括号居然也可以了。有点郁闷,不知道为什么,不过以后尽量都加上,即使一行也加上,一是清晰,二是确保不会出现这样的问题。只是看起来多了点。

AC代码:

#include <iostream>    
#include <iomanip>    
#include <string>    
#include <cstring>    
#include <cstdio>   
#include <queue>    
#include <stack>    
#include <algorithm>    
#include <cmath>    
#include <ctime>

using namespace std;  

int CalSum(char s[])
{
	int i = 0, sum = 0;
	for (i = 0; i < strlen(s); i++)
		sum += s[i] - ‘0‘;
	return sum;
}

void Rewrite(char s[], int sum)
{
	char temp[1000];
	int i = 0, j = 0;
	memset(temp, ‘\0‘, sizeof(temp));
	for (i = 0; sum != 0; i++)
	{
		temp[i] = (sum % 10) + ‘0‘;
		sum /= 10;
	}
	for (j = 0, i = i-1; i >= 0; j++, i--)
	{
		s[j] = temp[i];
	}
	return;
}

int main()
{
#ifdef Local      
	freopen("a.in", "r", stdin);  
#endif
	char s[1000];
	while (cin >> s && s[0] != ‘0‘)
	{
		while (true)
		{
			int sum = CalSum(s);
			if (sum >= 10)
			{
				memset(s, ‘\0‘, sizeof(s));
				Rewrite(s, sum);
			}
			else
			{
				cout << sum << endl;
				break;
			}
		}
	}
	return 0;
}

方法1(WA):用整型(或者long long)处理,都错误,范围不够。

#define Local
#include <iostream>    
#include <iomanip>    
#include <string>    
#include <cstring>    
#include <cstdio>    
#include <queue>    
#include <stack>    
#include <algorithm>    
#include <cmath>    
#include <ctime>

using namespace std;  

int Found_Root(int n)
{	
	int sum = 0;
	while (n >0)
	{
		sum += n % 10;
		n /= 10;
	}
	return sum;
}

int main()
{
#ifdef Local      
	freopen("a.in", "r", stdin);  
#endif
	int n = 0;
	while (cin >> n && n)
	{
		while (n >= 10)
			n = Found_Root(n);
		cout << n << endl;
	}
	return 0;
}

HDOJ - 1013 - Digital Roots(字符串、范围),布布扣,bubuko.com

HDOJ - 1013 - Digital Roots(字符串、范围)

原文:http://blog.csdn.net/u013545222/article/details/21178933

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!