xtu oj 1055 整数分类

Description

按照下面方法对整数x进行分类:如果x是一个个位数,则x属于x类;否则将x的各位上的数码累加,得到一个新的x,依次迭代,可以得到x的所属类。比如说24,2+4=6,则24的类别数是6;39,3+9=12,1+2=3,则39的类别数是3。

输入

       每行输入一个非负整数n,n≤10500,n为0时结束。

输出

       每行输出对应整数的分类数。

Sample Input

24
39
0

AC代码

#include
#include
int main()
{
	char s[501];
	while(scanf("%s",&s)!=EOF){
		int i,len=strlen(s),sum=0,n;
		if(s[0]=='0'&&len==1)break;
		if(s[0]!='0'&&len==1)printf("%d\n",s[0]-'0');
		else{
		  n=0;
		  for(i=0;i=10){
            int a[1005]={};
		    int j,cnt=0;
            while(n!=0){
              a[cnt]=n%10;
              n/=10;
              cnt++;
            }
           for(i=0;i

解题思路:因为数已经远远超过了long long 表示的范围,所以利用数组来做这道题。

你可能感兴趣的:(算法,c#,c语言)