digital root我记得也是杭电上的题

题意不讲了

看看代码:

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
const int maxn=3000;
char s[maxn];
int main()
{
	while(scanf("%s",s)!=EOF&&strcmp(s,"0"))
	{
		int sum=0;
		int len=strlen(s);
		for(int i=0;i<len;i++)
			sum+=s[i]-'0';
		while(sum>9)
			sum=sum%10+sum/10;
		printf("%d\n",sum);
	}
	return 0;
}

好了主要是这个迭代比较的牛,我一开始是用模拟来做的后来觉得循环里面一直有循环跳不出来

发布了54 篇原创文章 · 获赞 4 · 访问量 911

猜你喜欢

转载自blog.csdn.net/weixin_45460987/article/details/103219357