计算数字的根

时间限制: 1000ms 内存限制: 65536KB

问题描述

每个正整数通过每一位的求和都可以找到一个对应的根值.如果求和的结果是一位数字,那么这个数字就是这个正整数的根,如果这个值是两位或多位的话,重复上面的求和,直到求和结果为一位数字.

例如:考虑正整数24.把2和4相加得到6.6是一个数字,那么6就是24的根.现在考虑正整数39,3+9=12,12不是一位数.那么重复相加1+2=3,所以得到3为39的根.

现给定数据求该数的根.

输入描述

输入数据第一行有一个正整数N,表示下边有N个数据要计算.接下来分别是N行需要求根的正整数m. 其中( 1 ≤ m ≤ 1050 )

注:1050表示10的50次方

输出描述

输出这N个正整数的根,每个根占一行.

样例输入

3

24

39

987654321

样例输出

6

3

9

问题分析:

输入的数有50位,没法用整数类型存储,只能用字符串存储。

程序说明:

一般的做法是把各位数字加起来,加着加着数就变大了,需要迭代计算和的各位数字之和,直到剩下1位数。

利用数论的9余数定理来计算数根,则不需要这种迭代。

参见链接博文。

参考链接:HDU1013 POJ1519 Digital Roots(解法三)

AC的C++程序如下:

#include <iostream>using namespace std;int main()
{int n, digitroot;string s;cin >> n;while(n--) {cin >> s;digitroot = 0;int i =0;while(s[i]) {digitroot += s[i] - '0';digitroot = digitroot % 9;i++;}cout << ((digitroot == 0) ? 9 : digitroot) << endl;}return 0;
}

NUC1015 计算数字的根相关推荐

  1. C语言计算数字乘积根,c语言,求任意一个整数各位数字之积

    点击查看c语言,求任意一个整数各位数字之积具体信息 答:求整数各位和,将整数各个位分离出来的方法(除10取模)很常用. 函数如下 int intsum(int n) { int sum = 0; wh ...

  2. Java黑皮书课后题第7章:*7.11(统计:计算标准差)编程练习题5.45计算数字的标准差。本题…计算标准差,使用一个数组存储x的每个数。编写测试程序,提示用户输入10个数字,显示平均值和标准差

    7.11(统计:计算标准差)编程练习题5.45计算数字的标准差.本题-计算标准差,使用一个数组存储x的每个数.编写测试程序,提示用户输入10个数字,显示平均值和标准差 题目 题目描述与运行示例 破题 ...

  3. oracle 偶数与奇数,在PL / SQL中计算数字中的奇数和偶数

    我们给定一个正整数数字,任务是使用PL / SQL计算数字中奇数和偶数的计数. PL / SQL是SQL与编程语言的过程功能的组合.它是由Oracle Corporation在90年代初开发的,目的是 ...

  4. 算法—2,记一个自己的算法题 计算数字k在0到n中的出现的次数,k可能是0~9的一个值

    3 计算数字k在0到n中的出现的次数,k可能是0~9的一个值 例如n=12,k=1,在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],我们发现1出现了5次 (1 ...

  5. Java黑皮书课后题第7章:**7.3(计算数字的出现次数)编写程序,读取1到100之间的整数,然后计算每个数出现的次数。假定输入0表示结束

    7.3(计算数字的出现次数)编写程序,读取1到100之间的整数,然后计算每个数出现的次数 题目 题目描述+运行示例 破题 法一 法二 代码 法一:硬生生解出来 法二完整代码 题目 题目描述+运行示例 ...

  6. python 计算数字 k 在 0 到 n 中的出现的次数,k 可能是 0~9 的一个值

    3. 统计数字 中文English 计算数字 k 在 0 到 n 中的出现的次数,k 可能是 0~9 的一个值. Example 样例 1: 输入: k = 1, n = 1 输出: 1 解释: 在 ...

  7. python函数递归法求一个数各位数之和_python – 设计一个使用digit_sum计算数字总和的递归函数...

    要获得(正整数)数字的最后一位数,您可以计算模数: last_digit = n % 10 该数字的其余部分(不包括最后一个地方)是: rest = (n - last_digit) / 10 理论上 ...

  8. 预处理阶乘和阶乘逆元_计算数字的阶乘| 8086微处理器

    预处理阶乘和阶乘逆元 Problem statement: 问题陈述: Write an assembly language program for calculating the factorial ...

  9. C语言实现计算数字能否被3个数整除

    C语言实现计算数字能否被3个数整除 编程实现:输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一: ①能同时被3,5,7整除: ②能被其中两数(要指出哪两个)整除: ③能被其中一个数(要指出 ...

最新文章

  1. MySQL测试环境遇到 mmap(xxx bytes) failed; errno 12解决方法
  2. java CAS和AQS
  3. 安卓toast文字提示
  4. Python中的MySQL数据库编程
  5. 这5部不容错过的超高评价纪录片,带你领略地球的魅力!
  6. iBATIS存储过程
  7. ubuntu下使用python将ppt转成图片_Ubuntu下使用Python实现游戏制作中的切分图片功能...
  8. 2005.2.21 至 2005.8.8
  9. RabbitMQ,Elasticsearch学习,批量读取消息队列上的数据上传到Elasticsearch
  10. virtualbox安装Windows 7 64位旗舰版 (包含镜像文件)
  11. 生科实验室仪器维护保养,一篇就够了!
  12. 火车头采集html5游戏,火车头采集网站内页URL(图文)教程!
  13. Go基础:路径、文件名和包名的关系
  14. 如何做好Clickhouse集群的监控覆盖?
  15. GameFrameWork框架(Unity3D)使用笔记(八) 实现场景加载进度条
  16. 4.1.2. Constants
  17. jar文件读取和遍历
  18. 【MySQL】SQL优化
  19. 【7.talker.py listener.py】转载自他人作品,相关专业知识咨询相关人员!
  20. 博弈:阿里巴巴与雅虎

热门文章

  1. ArcGIS10.2不能打开10.6版本创建的镶嵌数据集
  2. 你最大的敌人是自己:一个独立游戏人的创业自白
  3. Unity4.3 2D新特性
  4. Android杂谈--ListView之BaseAdapter的使用
  5. mysql 事务原子性_数据库事务原子性、一致性是怎样实现的?
  6. html5 音频事件,HTML5中视频和音频核心事件的相关研究
  7. Kafka如何做到全局有序
  8. Spark SQL将rdd转换为数据集-反射来推断Inferring the Schema Using Reflection
  9. 怎样设置计算机默认字体及语言,电脑win10系统怎么将paint 3D的语言设置为中文...
  10. android 动画之漂移,Android之自定义Drawable实现灵动的红鲤鱼动画(上篇)