zoukankan      html  css  js  c++  java
  • [解题报告]Summing Digits

    题目大意

    题目原文:http://uva.onlinejudge.org/external/113/11332.pdf

    背景:

    对一个正整数 n, f(n) 表示 n 以十进制表示时所有位数的和。显而易见地,数列 n, f(n), f(f(n)), f(f(f(n))), ...一直重复下去最后会变成一个一位数的整数。这个一位数字以 g(n) 表示。
    例如,若 n = 1234567892,则:
    f(n) = 1+2+3+4+5+6+7+8+9+2 = 47
    f(f(n)) = 4+7 = 11
    f(f(f(n))) = 1+1 = 2
    因此, g(1234567892) = 2。

    intput

    每笔测试数据一列。每列都有一个大不于2,000,000,000 的正整数 n。当 n = 0 时代表输入结束,不用输出 n = 0 这笔数据。请参考 Sample Input

    output

    每笔测试数据输出一列 g(n)。
     

    Sample input

    2
    11
    47
    1234567892
    0
    

    Output for sample input

    2
    2
    2
    2
    

    算法:

    我这次尝试了下用函数,还有就是自己很不习惯用long首先想到的是double和float,但是%又只能是俩个整数所以自己要记住这点。还要以后的代码尽量用函数来表示,因为以后出去工作基本都是用函数,还有要加强习惯去写注释。这是道比较简单的题目具体就不说了。

    代码:

    这里附上我的代码,你可以去这里提交你的代码验证你的代码是否正确。

    #include<stdio.h>
    int chang(long long n);
    int main(void)
    {
        long long n;
    
        while(scanf("%lld",&n)!=EOF)
        {
            if(n==0)break;
            printf("%d\n",chang(n));
    
        }
        return 0;
    }
    int chang(long long n)
    {
        int num[10];
        int sum=0,i,j;
    
        if(n<10)
        {
            sum=(int)n;
            return sum;
        }
        else
        {
            for(i=0;;i++)
            {
                for(j=0;;j++)
                {
                    if(n<10)
                    {
                        sum+=n;
                        break;
                    }
                    num[j]=n%10;
                    sum+=num[j];
                    n=n/10;
                }
                if(sum<10)break;
                else
                {
                    n=sum;
                    sum=0;
                }
            }
            return sum;
        }
    }
  • 相关阅读:
    android scroll 中 scroll Bar 修改
    android 在代码中安装apk的方法
    android JSON 的应用
    android 混淆相关 proguard
    listView 相关的优化设置
    android 名称解释
    android Gallery 两侧阴影实现
    Service 详解
    使用alias 简化命令
    android 动画小结
  • 原文地址:https://www.cnblogs.com/qisong178878915/p/2920551.html
Copyright © 2011-2022 走看看