今晚的月色温柔

导航

数根

【问题描述】对于一个正整数n,我们将它的各个位相加得到一个新的数字,如果这个数字是一位数,我们称之为n的数根,否则重复处理直到它成为一个一位数,这个一位数也算是n的数根。例如:考虑24,2+4=6,6就是24的数根。考虑39,3+9=12,1+2=3,3就是39的数根。请编写程序,计算n的数根。例如:输入189输出9

【输入形式】一个正整数
【输出形式】一个个位数表示的数根
【样例输入】1234567
【样例输出】

1234567:7+6+5+4+3+2+1=28
28:8+2=10
10:0+1=1
1

#include<iostream>

using namespace std;

int main()

{

    int n,t,sum=0,i,m;

    cin>>n;

    t=n;

    while(t>0)

    {

        if(t/10==0)

        {

            cout<<t<<endl;

            break;

        }

        cout<<t<<':';

        for(i=1;i>0;i++)

        {

            m=t%10;

            sum=sum+m;

            t=t/10;

            if(i==1)

                cout<<sum;

            else

                cout<<'+'<<m;

            if(t==0)

                break;

        }

        t=sum;

        cout<<'='<<sum<<endl;

        sum=0;

    }

    return 0;

}

 

 

 

java代码:

package fuxi;
import java.util.Scanner;
public class W {
public static void main(String[] args)
{
int num;
int s=0,t;
Scanner sc=new Scanner(System.in);
num=sc.nextInt();
while(num>9){//至少是十位数
System.out.print(num+":");
while(num!=0)
{
t=num%10;
System.out.print(t+"+");
s+=t;
num=num/10;
}
System.out.println("="+s);//=28这行之后再换行往下走
num=s;
}
System.out.println(num);
}
}

posted on 2020-12-12 16:50  1022  阅读(300)  评论(0编辑  收藏  举报