杭电acm1013 hdu-acm-1013解题报告
来源:互联网 发布:steinberg ur22 mac 编辑:程序博客网 时间:2024/06/05 22:31
题目链接:
点此进入原题
原题内容:
Total Submission(s): 48447 Accepted Submission(s): 15059
Digital Roots
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 48447 Accepted Submission(s): 15059
Problem Description
The digital root of a positive integer is found by summing the digits of the integer. If the resulting value is a single digit then that digit is the digital root. If the resulting value contains two or more digits, those digits are summed and the process is repeated. This is continued as long as necessary to obtain a single digit.
For example, consider the positive integer 24. Adding the 2 and the 4 yields a value of 6. Since 6 is a single digit, 6 is the digital root of 24. Now consider the positive integer 39. Adding the 3 and the 9 yields 12. Since 12 is not a single digit, the process must be repeated. Adding the 1 and the 2 yeilds 3, a single digit and also the digital root of 39.
For example, consider the positive integer 24. Adding the 2 and the 4 yields a value of 6. Since 6 is a single digit, 6 is the digital root of 24. Now consider the positive integer 39. Adding the 3 and the 9 yields 12. Since 12 is not a single digit, the process must be repeated. Adding the 1 and the 2 yeilds 3, a single digit and also the digital root of 39.
Input
The input file will contain a list of positive integers, one per line. The end of the input will be indicated by an integer value of zero.
Output
For each integer in the input, output its digital root on a separate line of the output.
Sample Input
24390
Sample Output
63
本题理解:这一题比较简单,就是输入一个多位数(可能上千位,要用到大数的处理方式),计算各位的和,如果还是多位数,继续计算;直到是一位数为止。
代码:
#include<stdio.h>#include<string.h>int z(int a){int sum=0;sum+=a%10;for(;a!=0;){a/=10;sum+=a%10;}return sum;}int main(){int n,sum,i;char c[1010];while(~scanf("%s",c)&&c[0]!='0')//用到大数加减,开始没看清题,wa了; {for(i=0,sum=0;i<strlen(c);i++){sum+=c[i]-'0';}while(sum>9)sum=z(sum);printf("%d\n",sum);}return 0;}
0 0
- 杭电acm1013 hdu-acm-1013解题报告
- 杭电acm1008 hdu-acm-1008解题报告
- 杭电acm1012 hdu-acm-1012解题报告
- 杭电acm1014 hdu-acm-1014解题报告
- 杭电acm1017 hdu-acm-1017解题报告
- 杭电acm1019 hdu-acm-101解题报告
- 杭电acm1021 hdu-acm-1021解题报告
- 杭电acm1019 hdu-acm-101解题报告
- 杭电acm1056 hdu-acm-1056解题报告
- 杭电acm1232 hdu-acm-1232畅通工程解题报告
- 杭电acm2091 hdu-acm-2091空心三角形解题报告
- 杭电acm2089 hdu-acm-2089不要62解题报告
- 杭电ACM1013
- 杭电ACM1013
- 杭电acm2170hdu-acm-2170解题报告
- 杭电acm1406hdu-acm-1406解题报告
- 杭电ACM hdu 1171 Big Event in HDU 解题报告(母函数)
- 杭电ACM hdu 2110 Crisis of HDU 解题报告(母函数)
- Oracle WebCenter 11g环境搭建手册
- nyoj 36 最长公共子序列 【DP】
- Java多线程之共享资源
- Oracle HR 样例用户的建立 10g,11g均可
- 优米--Google搜索打不开的解决方法,图文教程一劳永逸
- 杭电acm1013 hdu-acm-1013解题报告
- xfire
- 大明的A+B!(大数)
- bootstrap模态框(modal)使用remote方法加载数据,只能加载一次的解决办法
- HDU 1789 Doing Homework again(贪心)
- HDU1757 A Simple Math Problem
- ldd 命令介绍
- object-c编程tips-给类对象添加属性
- 中值滤波