作业帮 > 综合 > 作业

C语言题目,数字根一个正整数的数字根是通过计算该整数的各位的和产生的.如果一个整数的各位和是一位整数,那么这个数字就是该

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/27 04:47:43
C语言题目,数字根
一个正整数的数字根是通过计算该整数的各位的和产生的.如果一个整数的各位和是一位整数,那么这个数字就是该整数的数字根.如果该整数的各位和是两位或多位整数,那么,就需要重复计算各位的和,直到获得一位整数.
例如,考虑正整数24.把2与4相加得到6.由于6是一个一位整数,所以,6就是24的数字根.现在再来考虑正整数39.3与9相加等于12.因为 12不是一位整数,因而,需要重复处理.再把 1 加2得到3,现在3已是一个一位整数了,那么3就是39的数字根.
#include <stdio.h>

int GetRoot(int a)
{
    int result = 0;
    while (a > 0)
    {
        result += a%10;
        a /= 10;
    }
    return result;
}

int Root(int a)
{
    int result = a;
    while (result >= 10)
    {
        result = GetRoot(result);
    }
    return result;
}

main()
{
    int n=0;
    while (1 == scanf("%d", &n) )
    {
        printf("%d\n", Root(n) );
    }
}
再问: �ܲ��ܼ��һ�㣿��������ʾ����������
再答: �ҽ���һ�£� GetRoot������a�ĸ�λ����֮�͡����ͷ��ء� Root��ѭ������a�����ָ��Ȱ�a���浽result���������result��λ����֮�ͣ�����DZ�����result�ֱ��resultΪ��λ��Ҳ����