该问题的最佳解法是利用数论的9余数定理来计算数根。一个数的数根等于该数的9的余数,若余数为0则结果为9。

问题链接:HDU1013 POJ1519 Digital Roots。基础训练题,用C语言编写程序。

问题简述:输入若干正整数,求其数根,直到输入为0为止。

问题分析:数根是指整数的各个位的数字之和。如果其和为1位整数,则为结果;如果其和为多位整数,则再将各位数字相加,直到其和为1位数为止。这个问题的大陷阱是,没有指出整数是多少位的。即使使用unsignde long long类型,也可能会溢出的。所以,需要按字符串来处理。

程序说明:(略)。

实际上可以一边读入数据一边处理,省去字符串数组,参见:HDU1013 POJ1519 Digital Roots(解法二)。

另外一个版本参见:HDU1013 POJ1519 Digital Roots(解法三)。

AC的C语言程序如下:

/* HDU1013 POJ1519 Digital Roots */#include <stdio.h>int main(void)
{char s[1024], *p;int digitroot;while(~scanf("%s",s)) {// 判断结束条件if(s[0] == '0')break;// 计算数根p = s;digitroot = 0;while(*p) {// step1 计算各位数字之和digitroot += *p++ - '0';// step2 每个10都变为1digitroot = digitroot / 10 + digitroot % 10;}// 输出结果printf("%d\n", digitroot);}return 0;
}

转载于:https://www.cnblogs.com/tigerisland/p/7564639.html

HDU1013 POJ1519 Digital Roots相关推荐

  1. HDU1013 POJ1519 Digital Roots(解法二)

    该问题的最佳解法是利用数论的9余数定理来计算数根.一个数的数根等于该数的9的余数,若余数为0则结果为9. 问题链接:HDU1013 POJ1519 Digital Roots.入门练习题,用C语言编写 ...

  2. HDU1013 POJ1519 Digital Roots(解法三)【废除!!!】

    本文废除!!! 参见链接:HDU1013 POJ1519 UVALive2085 Digital Roots[数根+水题] 该问题的最佳解法是利用数论的9余数定理来计算数根.一个数的数根等于该数的9的 ...

  3. HDU1013 POJ1519 Digital Roots(解法二)【废除!!!】

    本文废除!!! 参见链接:HDU1013 POJ1519 UVALive2085 Digital Roots[数根+水题] 该问题的最佳解法是利用数论的9余数定理来计算数根.一个数的数根等于该数的9的 ...

  4. HDU1013 POJ1519 Digital Roots(解法三)

    该问题的最佳解法是利用数论的9余数定理来计算数根.一个数的数根等于该数的9的余数,若余数为0则结果为9. 问题链接:HDU1013 POJ1519 Digital Roots.入门练习题,用C语言编写 ...

  5. HDU1163 Eddy's digital Roots(解法二)【快速模幂+九余数定理】

    问题链接:HDU1163 Eddy's digital Roots. 问题简述:参见上述链接. 问题分析:计算n^n的数根,一要快,二要简单.使用快速模幂计算,加上数论中的九余数定理就完美了. 程序说 ...

  6. HDU1163 Eddy's digital Roots(解法二)【快速模幂+九余数定理】(废除!!!)

    本文废除,参见下述链接. 参考链接:HDU1163 Eddy's digital Roots[快速模幂+九余数定理+水题] 问题链接:HDU1163 Eddy's digital Roots. 问题简 ...

  7. Digital Roots

    题目的链接为: http://acm.njupt.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1028 题目为: Dig ...

  8. 【HDU - 1013 】Digital Roots (大数模拟)

    题干: The digital root of a positive integer is found by summing the digits of the integer. If the res ...

  9. zoj 1115 Digital Roots

    求各数位之和: 运用弃九法可以很快解出,但一开始没想到出入的会是字符串,WA了几次, AC代码如下 #include"iostream" #include"string& ...

最新文章

  1. 知识蒸馏(Knowledge Distillation)详细深入透彻理解重点
  2. 自动跟随小车c语言,基于OpenCV的智能小车运动轨迹跟踪方法研究
  3. 说说消息队列RocketMQ版ConsumeTimeout的含义是什么
  4. 利用VSTS工具自动测试
  5. java访问控制符_java中访问控制符的作用
  6. 一个域名解析到另一个域名_如何申请一个免费的域名?
  7. NLP:利用DictVectorizer对使用字典存储的数据进行特征抽取与向量化
  8. 第九次作业——测试报告和用户手册
  9. (38)FPGA面试技能提升篇(C/C++、questasim仿真工具)
  10. cmd echo写入shell_渗透技巧——通过cmd上传文件的N种方法
  11. php smarty配置,PHP中使用Smarty模板目录结构配置
  12. 单机关系型数据库与分布式数据库的区别
  13. RxJava详细解析
  14. 面试时候被问到为什么离职 离职原因 该如何回答?
  15. 阿阿斯顿发沙发是地方撒旦法
  16. 真无线蓝牙耳机哪个音质最好?2020高性价真无线蓝牙耳机音质排行榜!
  17. 杭州好玩景点攻略470
  18. iOS下86版五笔输入法练习程序(作为备忘,最基本功能的演示demo,版本:0.99版)
  19. CentOS 7 关闭 swap 分区
  20. unity3d:Matrix4x4矩阵位移,缩放,旋转

热门文章

  1. CISA已遭利用漏洞列表新增15个漏洞
  2. 200多家厂商的OT设备受14个漏洞影响
  3. Google App Engine 功能被滥用于创建无限制的钓鱼页面
  4. django获取字段列表(values/values_list/flat)
  5. 第一章 Spring的简单剖析
  6. 编程中的那些容易迷糊的小知识
  7. 阿里Q2财报:阿里云势头猛进领跑全球
  8. 微软签署最大规模风电购买协议 打造“无碳”数据中心
  9. 浅析crontab命令
  10. 【图文详解】,配置NLB群集